/* 
 * glx11.h - header for dynamically loading opengl 
 */

#ifdef __cplusplus
extern "C" {
#endif


/*
 * OpenGL 1.0 API
 */

/* types */ 
typedef double GLdouble;
typedef double GLclampd;
typedef float GLfloat;
typedef float GLclampf;
typedef int GLint;
typedef unsigned int GLuint;
typedef int GLsizei;
typedef unsigned int GLenum;
typedef unsigned int GLbitfield;
typedef short GLshort;
typedef unsigned short GLushort;
typedef signed char GLbyte;
typedef unsigned char GLubyte;
typedef unsigned char GLboolean;
typedef void GLvoid;

/* tokens */
#define GL_FALSE 0x0
#define GL_TRUE 0x1
#define GL_ZERO 0x0
#define GL_ONE 0x1
#define GL_NONE 0x0
#define GL_NO_ERROR 0x0
#define GL_POINTS 0x0000
#define GL_LINES 0x0001
#define GL_LINE_LOOP 0x0002
#define GL_LINE_STRIP 0x0003
#define GL_TRIANGLES 0x0004
#define GL_TRIANGLE_STRIP 0x0005
#define GL_TRIANGLE_FAN 0x0006
#define GL_QUADS 0x0007
#define GL_QUAD_STRIP 0x0008
#define GL_POLYGON 0x0009
#define GL_ACCUM 0x0100
#define GL_LOAD 0x0101
#define GL_RETURN 0x0102
#define GL_MULT 0x0103
#define GL_ADD 0x0104
#define GL_NEVER 0x0200
#define GL_LESS 0x0201
#define GL_EQUAL 0x0202
#define GL_LEQUAL 0x0203
#define GL_GREATER 0x0204
#define GL_NOTEQUAL 0x0205
#define GL_GEQUAL 0x0206
#define GL_ALWAYS 0x0207
#define GL_SRC_COLOR 0x0300
#define GL_ONE_MINUS_SRC_COLOR 0x0301
#define GL_SRC_ALPHA 0x0302
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
#define GL_DST_ALPHA 0x0304
#define GL_ONE_MINUS_DST_ALPHA 0x0305
#define GL_DST_COLOR 0x0306
#define GL_ONE_MINUS_DST_COLOR 0x0307
#define GL_SRC_ALPHA_SATURATE 0x0308
#define GL_FRONT_LEFT 0x0400
#define GL_FRONT_RIGHT 0x0401
#define GL_BACK_LEFT 0x0402
#define GL_BACK_RIGHT 0x0403
#define GL_FRONT 0x0404
#define GL_BACK 0x0405
#define GL_LEFT 0x0406
#define GL_RIGHT 0x0407
#define GL_FRONT_AND_BACK 0x0408
#define GL_AUX0 0x0409
#define GL_AUX1 0x040A
#define GL_AUX2 0x040B
#define GL_AUX3 0x040C
#define GL_INVALID_VALUE 0x0501
#define GL_INVALID_ENUM 0x0500
#define GL_INVALID_OPERATION 0x0502
#define GL_STACK_OVERFLOW 0x0503
#define GL_STACK_UNDERFLOW 0x0504
#define GL_OUT_OF_MEMORY 0x0505
#define GL_2D 0x0600
#define GL_3D 0x0601
#define GL_3D_COLOR 0x0602
#define GL_3D_COLOR_TEXTURE 0x0603
#define GL_4D_COLOR_TEXTURE 0x0604
#define GL_PASS_THROUGH_TOKEN 0x0700
#define GL_POINT_TOKEN 0x0701
#define GL_LINE_TOKEN 0x0702
#define GL_POLYGON_TOKEN 0x0703
#define GL_BITMAP_TOKEN 0x0704
#define GL_DRAW_PIXEL_TOKEN 0x0705
#define GL_COPY_PIXEL_TOKEN 0x0706
#define GL_LINE_RESET_TOKEN 0x0707
#define GL_EXP 0x0800
#define GL_EXP2 0x0801
#define GL_CW 0x0900
#define GL_CCW 0x0901
#define GL_COEFF 0x0A00
#define GL_ORDER 0x0A01
#define GL_DOMAIN 0x0A02
#define GL_CURRENT_COLOR 0x0B00
#define GL_CURRENT_INDEX 0x0B01
#define GL_CURRENT_NORMAL 0x0B02
#define GL_CURRENT_TEXTURE_COORDS 0x0B03
#define GL_CURRENT_RASTER_COLOR 0x0B04
#define GL_CURRENT_RASTER_INDEX 0x0B05
#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
#define GL_CURRENT_RASTER_POSITION 0x0B07
#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
#define GL_CURRENT_RASTER_DISTANCE 0x0B09
#define GL_POINT_SMOOTH 0x0B10
#define GL_POINT_SIZE 0x0B11
#define GL_POINT_SIZE_RANGE 0x0B12
#define GL_POINT_SIZE_GRANULARITY 0x0B13
#define GL_LINE_SMOOTH 0x0B20
#define GL_LINE_WIDTH 0x0B21
#define GL_LINE_WIDTH_RANGE 0x0B22
#define GL_LINE_WIDTH_GRANULARITY 0x0B23
#define GL_LINE_STIPPLE 0x0B24
#define GL_LINE_STIPPLE_PATTERN 0x0B25
#define GL_LINE_STIPPLE_REPEAT 0x0B26
#define GL_LIST_MODE 0x0B30
#define GL_MAX_LIST_NESTING 0x0B31
#define GL_LIST_BASE 0x0B32
#define GL_LIST_INDEX 0x0B33
#define GL_POLYGON_MODE 0x0B40
#define GL_POLYGON_SMOOTH 0x0B41
#define GL_POLYGON_STIPPLE 0x0B42
#define GL_EDGE_FLAG 0x0B43
#define GL_CULL_FACE 0x0B44
#define GL_CULL_FACE_MODE 0x0B45
#define GL_FRONT_FACE 0x0B46
#define GL_LIGHTING 0x0B50
#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
#define GL_LIGHT_MODEL_AMBIENT 0x0B53
#define GL_SHADE_MODEL 0x0B54
#define GL_COLOR_MATERIAL_FACE 0x0B55
#define GL_COLOR_MATERIAL_PARAMETER 0x0B56
#define GL_COLOR_MATERIAL 0x0B57
#define GL_FOG 0x0B60
#define GL_FOG_INDEX 0x0B61
#define GL_FOG_DENSITY 0x0B62
#define GL_FOG_START 0x0B63
#define GL_FOG_END 0x0B64
#define GL_FOG_MODE 0x0B65
#define GL_FOG_COLOR 0x0B66
#define GL_DEPTH_RANGE 0x0B70
#define GL_DEPTH_TEST 0x0B71
#define GL_DEPTH_WRITEMASK 0x0B72
#define GL_DEPTH_CLEAR_VALUE 0x0B73
#define GL_DEPTH_FUNC 0x0B74
#define GL_ACCUM_CLEAR_VALUE 0x0B80
#define GL_STENCIL_TEST 0x0B90
#define GL_STENCIL_CLEAR_VALUE 0x0B91
#define GL_STENCIL_FUNC 0x0B92
#define GL_STENCIL_VALUE_MASK 0x0B93
#define GL_STENCIL_FAIL 0x0B94
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
#define GL_STENCIL_REF 0x0B97
#define GL_STENCIL_WRITEMASK 0x0B98
#define GL_MATRIX_MODE 0x0BA0
#define GL_NORMALIZE 0x0BA1
#define GL_VIEWPORT 0x0BA2
#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
#define GL_PROJECTION_STACK_DEPTH 0x0BA4
#define GL_TEXTURE_STACK_DEPTH 0x0BA5
#define GL_MODELVIEW_MATRIX 0x0BA6
#define GL_PROJECTION_MATRIX 0x0BA7
#define GL_TEXTURE_MATRIX 0x0BA8
#define GL_ATTRIB_STACK_DEPTH 0x0BB0
#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
#define GL_ALPHA_TEST 0x0BC0
#define GL_ALPHA_TEST_FUNC 0x0BC1
#define GL_ALPHA_TEST_REF 0x0BC2
#define GL_DITHER 0x0BD0
#define GL_BLEND_DST 0x0BE0
#define GL_BLEND_SRC 0x0BE1
#define GL_BLEND 0x0BE2
#define GL_LOGIC_OP_MODE 0x0BF0
#define GL_LOGIC_OP 0x0BF1
#define GL_AUX_BUFFERS 0x0C00
#define GL_DRAW_BUFFER 0x0C01
#define GL_READ_BUFFER 0x0C02
#define GL_SCISSOR_BOX 0x0C10
#define GL_SCISSOR_TEST 0x0C11
#define GL_INDEX_CLEAR_VALUE 0x0C20
#define GL_INDEX_WRITEMASK 0x0C21
#define GL_COLOR_CLEAR_VALUE 0x0C22
#define GL_COLOR_WRITEMASK 0x0C23
#define GL_INDEX_MODE 0x0C30
#define GL_RGBA_MODE 0x0C31
#define GL_DOUBLEBUFFER 0x0C32
#define GL_STEREO 0x0C33
#define GL_RENDER_MODE 0x0C40
#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
#define GL_POINT_SMOOTH_HINT 0x0C51
#define GL_LINE_SMOOTH_HINT 0x0C52
#define GL_POLYGON_SMOOTH_HINT 0x0C53
#define GL_FOG_HINT 0x0C54
#define GL_TEXTURE_GEN_S 0x0C60
#define GL_TEXTURE_GEN_T 0x0C61
#define GL_TEXTURE_GEN_R 0x0C62
#define GL_TEXTURE_GEN_Q 0x0C63
#define GL_PIXEL_MAP_I_TO_I 0x0C70
#define GL_PIXEL_MAP_S_TO_S 0x0C71
#define GL_PIXEL_MAP_I_TO_R 0x0C72
#define GL_PIXEL_MAP_I_TO_G 0x0C73
#define GL_PIXEL_MAP_I_TO_B 0x0C74
#define GL_PIXEL_MAP_I_TO_A 0x0C75
#define GL_PIXEL_MAP_R_TO_R 0x0C76
#define GL_PIXEL_MAP_G_TO_G 0x0C77
#define GL_PIXEL_MAP_B_TO_B 0x0C78
#define GL_PIXEL_MAP_A_TO_A 0x0C79
#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
#define GL_UNPACK_SWAP_BYTES 0x0CF0
#define GL_UNPACK_LSB_FIRST 0x0CF1
#define GL_UNPACK_ROW_LENGTH 0x0CF2
#define GL_UNPACK_SKIP_PIXELS 0x0CF4
#define GL_UNPACK_SKIP_ROWS 0x0CF3
#define GL_UNPACK_ALIGNMENT 0x0CF5
#define GL_PACK_SWAP_BYTES 0x0D00
#define GL_PACK_LSB_FIRST 0x0D01
#define GL_PACK_ROW_LENGTH 0x0D02
#define GL_PACK_SKIP_ROWS 0x0D03
#define GL_PACK_SKIP_PIXELS 0x0D04
#define GL_PACK_ALIGNMENT 0x0D05
#define GL_MAP_COLOR 0x0D10
#define GL_MAP_STENCIL 0x0D11
#define GL_INDEX_SHIFT 0x0D12
#define GL_INDEX_OFFSET 0x0D13
#define GL_RED_SCALE 0x0D14
#define GL_RED_BIAS 0x0D15
#define GL_ZOOM_X 0x0D16
#define GL_ZOOM_Y 0x0D17
#define GL_GREEN_SCALE 0x0D18
#define GL_GREEN_BIAS 0x0D19
#define GL_BLUE_SCALE 0x0D1A
#define GL_BLUE_BIAS 0x0D1B
#define GL_ALPHA_SCALE 0x0D1C
#define GL_ALPHA_BIAS 0x0D1D
#define GL_DEPTH_SCALE 0x0D1E
#define GL_DEPTH_BIAS 0x0D1F
#define GL_MAX_EVAL_ORDER 0x0D30
#define GL_MAX_LIGHTS 0x0D31
#define GL_MAX_CLIP_PLANES 0x0D32
#define GL_MAX_TEXTURE_SIZE 0x0D33
#define GL_MAX_PIXEL_MAP_TABLE 0x0D34
#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
#define GL_MAX_NAME_STACK_DEPTH 0x0D37
#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
#define GL_MAX_VIEWPORT_DIMS 0x0D3A
#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
#define GL_SUBPIXEL_BITS 0x0D50
#define GL_INDEX_BITS 0x0D51
#define GL_RED_BITS 0x0D52
#define GL_GREEN_BITS 0x0D53
#define GL_BLUE_BITS 0x0D54
#define GL_ALPHA_BITS 0x0D55
#define GL_DEPTH_BITS 0x0D56
#define GL_STENCIL_BITS 0x0D57
#define GL_ACCUM_RED_BITS 0x0D58
#define GL_ACCUM_GREEN_BITS 0x0D59
#define GL_ACCUM_BLUE_BITS 0x0D5A
#define GL_ACCUM_ALPHA_BITS 0x0D5B
#define GL_NAME_STACK_DEPTH 0x0D70
#define GL_AUTO_NORMAL 0x0D80
#define GL_MAP1_COLOR_4 0x0D90
#define GL_MAP1_INDEX 0x0D91
#define GL_MAP1_NORMAL 0x0D92
#define GL_MAP1_TEXTURE_COORD_1 0x0D93
#define GL_MAP1_TEXTURE_COORD_2 0x0D94
#define GL_MAP1_TEXTURE_COORD_3 0x0D95
#define GL_MAP1_TEXTURE_COORD_4 0x0D96
#define GL_MAP1_VERTEX_3 0x0D97
#define GL_MAP1_VERTEX_4 0x0D98
#define GL_MAP2_COLOR_4 0x0DB0
#define GL_MAP2_INDEX 0x0DB1
#define GL_MAP2_NORMAL 0x0DB2
#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
#define GL_MAP2_TEXTURE_COORD_2 0x0DB4
#define GL_MAP2_TEXTURE_COORD_3 0x0DB5
#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
#define GL_MAP2_VERTEX_3 0x0DB7
#define GL_MAP2_VERTEX_4 0x0DB8
#define GL_MAP1_GRID_DOMAIN 0x0DD0
#define GL_MAP1_GRID_SEGMENTS 0x0DD1
#define GL_MAP2_GRID_DOMAIN 0x0DD2
#define GL_MAP2_GRID_SEGMENTS 0x0DD3
#define GL_TEXTURE_1D 0x0DE0
#define GL_TEXTURE_2D 0x0DE1
#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
#define GL_SELECTION_BUFFER_POINTER 0x0DF3
#define GL_SELECTION_BUFFER_SIZE 0x0DF4
#define GL_TEXTURE_WIDTH 0x1000
#define GL_TEXTURE_HEIGHT 0x1001
#define GL_TEXTURE_BORDER 0x1005
#define GL_TEXTURE_COMPONENTS 0x1003
#define GL_TEXTURE_BORDER_COLOR 0x1004
#define GL_DONT_CARE 0x1100
#define GL_FASTEST 0x1101
#define GL_NICEST 0x1102
#define GL_AMBIENT 0x1200
#define GL_DIFFUSE 0x1201
#define GL_SPECULAR 0x1202
#define GL_POSITION 0x1203
#define GL_SPOT_DIRECTION 0x1204
#define GL_SPOT_EXPONENT 0x1205
#define GL_SPOT_CUTOFF 0x1206
#define GL_CONSTANT_ATTENUATION 0x1207
#define GL_LINEAR_ATTENUATION 0x1208
#define GL_QUADRATIC_ATTENUATION 0x1209
#define GL_COMPILE 0x1300
#define GL_COMPILE_AND_EXECUTE 0x1301
#define GL_BYTE 0x1400
#define GL_UNSIGNED_BYTE 0x1401
#define GL_SHORT 0x1402
#define GL_UNSIGNED_SHORT 0x1403
#define GL_INT 0x1404
#define GL_UNSIGNED_INT 0x1405
#define GL_FLOAT 0x1406
#define GL_2_BYTES 0x1407
#define GL_3_BYTES 0x1408
#define GL_4_BYTES 0x1409
#define GL_CLEAR 0x1500
#define GL_AND 0x1501
#define GL_AND_REVERSE 0x1502
#define GL_COPY 0x1503
#define GL_AND_INVERTED 0x1504
#define GL_NOOP 0x1505
#define GL_XOR 0x1506
#define GL_OR 0x1507
#define GL_NOR 0x1508
#define GL_EQUIV 0x1509
#define GL_INVERT 0x150A
#define GL_OR_REVERSE 0x150B
#define GL_COPY_INVERTED 0x150C
#define GL_OR_INVERTED 0x150D
#define GL_NAND 0x150E
#define GL_SET 0x150F
#define GL_EMISSION 0x1600
#define GL_SHININESS 0x1601
#define GL_AMBIENT_AND_DIFFUSE 0x1602
#define GL_COLOR_INDEXES 0x1603
#define GL_MODELVIEW 0x1700
#define GL_PROJECTION 0x1701
#define GL_TEXTURE 0x1702
#define GL_COLOR 0x1800
#define GL_DEPTH 0x1801
#define GL_STENCIL 0x1802
#define GL_COLOR_INDEX 0x1900
#define GL_STENCIL_INDEX 0x1901
#define GL_DEPTH_COMPONENT 0x1902
#define GL_RED 0x1903
#define GL_GREEN 0x1904
#define GL_BLUE 0x1905
#define GL_ALPHA 0x1906
#define GL_RGBA 0x1908
#define GL_RGB 0x1907
#define GL_LUMINANCE 0x1909
#define GL_LUMINANCE_ALPHA 0x190A
#define GL_BITMAP 0x1A00
#define GL_POINT 0x1B00
#define GL_LINE 0x1B01
#define GL_FILL 0x1B02
#define GL_FEEDBACK 0x1C01
#define GL_RENDER 0x1C00
#define GL_SELECT 0x1C02
#define GL_FLAT 0x1D00
#define GL_SMOOTH 0x1D01
#define GL_KEEP 0x1E00
#define GL_REPLACE 0x1E01
#define GL_INCR 0x1E02
#define GL_DECR 0x1E03
#define GL_VENDOR 0x1F00
#define GL_RENDERER 0x1F01
#define GL_VERSION 0x1F02
#define GL_EXTENSIONS 0x1F03
#define GL_S 0x2000
#define GL_T 0x2001
#define GL_R 0x2002
#define GL_Q 0x2003
#define GL_MODULATE 0x2100
#define GL_DECAL 0x2101
#define GL_TEXTURE_ENV_MODE 0x2200
#define GL_TEXTURE_ENV_COLOR 0x2201
#define GL_TEXTURE_ENV 0x2300
#define GL_EYE_LINEAR 0x2400
#define GL_OBJECT_LINEAR 0x2401
#define GL_SPHERE_MAP 0x2402
#define GL_TEXTURE_GEN_MODE 0x2500
#define GL_OBJECT_PLANE 0x2501
#define GL_EYE_PLANE 0x2502
#define GL_NEAREST 0x2600
#define GL_LINEAR 0x2601
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
#define GL_TEXTURE_MAG_FILTER 0x2800
#define GL_TEXTURE_MIN_FILTER 0x2801
#define GL_TEXTURE_WRAP_S 0x2802
#define GL_TEXTURE_WRAP_T 0x2803
#define GL_CLAMP 0x2900
#define GL_REPEAT 0x2901
#define GL_CLIP_PLANE0 0x3000
#define GL_CLIP_PLANE1 0x3001
#define GL_CLIP_PLANE2 0x3002
#define GL_CLIP_PLANE3 0x3003
#define GL_CLIP_PLANE4 0x3004
#define GL_CLIP_PLANE5 0x3005
#define GL_LIGHT0 0x4000
#define GL_LIGHT1 0x4001
#define GL_LIGHT2 0x4002
#define GL_LIGHT3 0x4003
#define GL_LIGHT4 0x4004
#define GL_LIGHT5 0x4005
#define GL_LIGHT6 0x4006
#define GL_LIGHT7 0x4007
#define GL_CURRENT_BIT 0x00000001
#define GL_POINT_BIT 0x00000002
#define GL_LINE_BIT 0x00000004
#define GL_POLYGON_BIT 0x00000008
#define GL_POLYGON_STIPPLE_BIT 0x00000010
#define GL_PIXEL_MODE_BIT 0x00000020
#define GL_LIGHTING_BIT 0x00000040
#define GL_FOG_BIT 0x00000080
#define GL_DEPTH_BUFFER_BIT 0x00000100
#define GL_ACCUM_BUFFER_BIT 0x00000200
#define GL_STENCIL_BUFFER_BIT 0x00000400
#define GL_VIEWPORT_BIT 0x00000800
#define GL_TRANSFORM_BIT 0x00001000
#define GL_ENABLE_BIT 0x00002000
#define GL_COLOR_BUFFER_BIT 0x00004000
#define GL_HINT_BIT 0x00008000
#define GL_EVAL_BIT 0x00010000
#define GL_LIST_BIT 0x00020000
#define GL_TEXTURE_BIT 0x00040000
#define GL_SCISSOR_BIT 0x00080000
#define GL_ALL_ATTRIB_BITS 0x000FFFFF

/* functions */
extern void (*glNewList)(GLuint list, GLenum mode);
extern void (*glEndList)(void);
extern void (*glCallList)(GLuint list);
extern void (*glCallLists)(GLsizei n, GLenum type, const GLvoid * lists);
extern void (*glDeleteLists)(GLuint list, GLsizei range);
extern GLuint (*glGenLists)(GLsizei range);
extern void (*glListBase)(GLuint base);
extern void (*glBegin)(GLenum mode);
extern void (*glBitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap);
extern void (*glColor3b)(GLbyte red, GLbyte green, GLbyte blue);
extern void (*glColor3bv)(const GLbyte * v);
extern void (*glColor3d)(GLdouble red, GLdouble green, GLdouble blue);
extern void (*glColor3dv)(const GLdouble * v);
extern void (*glColor3f)(GLfloat red, GLfloat green, GLfloat blue);
extern void (*glColor3fv)(const GLfloat * v);
extern void (*glColor3i)(GLint red, GLint green, GLint blue);
extern void (*glColor3iv)(const GLint * v);
extern void (*glColor3s)(GLshort red, GLshort green, GLshort blue);
extern void (*glColor3sv)(const GLshort * v);
extern void (*glColor3ub)(GLubyte red, GLubyte green, GLubyte blue);
extern void (*glColor3ubv)(const GLubyte * v);
extern void (*glColor3ui)(GLuint red, GLuint green, GLuint blue);
extern void (*glColor3uiv)(const GLuint * v);
extern void (*glColor3us)(GLushort red, GLushort green, GLushort blue);
extern void (*glColor3usv)(const GLushort * v);
extern void (*glColor4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
extern void (*glColor4bv)(const GLbyte * v);
extern void (*glColor4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
extern void (*glColor4dv)(const GLdouble * v);
extern void (*glColor4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
extern void (*glColor4fv)(const GLfloat * v);
extern void (*glColor4i)(GLint red, GLint green, GLint blue, GLint alpha);
extern void (*glColor4iv)(const GLint * v);
extern void (*glColor4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha);
extern void (*glColor4sv)(const GLshort * v);
extern void (*glColor4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
extern void (*glColor4ubv)(const GLubyte * v);
extern void (*glColor4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha);
extern void (*glColor4uiv)(const GLuint * v);
extern void (*glColor4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha);
extern void (*glColor4usv)(const GLushort * v);
extern void (*glEdgeFlag)(GLboolean flag);
extern void (*glEdgeFlagv)(const GLboolean * flag);
extern void (*glEnd)(void);
extern void (*glIndexd)(GLdouble c);
extern void (*glIndexdv)(const GLdouble * c);
extern void (*glIndexf)(GLfloat c);
extern void (*glIndexfv)(const GLfloat * c);
extern void (*glIndexi)(GLint c);
extern void (*glIndexiv)(const GLint * c);
extern void (*glIndexs)(GLshort c);
extern void (*glIndexsv)(const GLshort * c);
extern void (*glNormal3b)(GLbyte nx, GLbyte ny, GLbyte nz);
extern void (*glNormal3bv)(const GLbyte * v);
extern void (*glNormal3d)(GLdouble nx, GLdouble ny, GLdouble nz);
extern void (*glNormal3dv)(const GLdouble * v);
extern void (*glNormal3f)(GLfloat nx, GLfloat ny, GLfloat nz);
extern void (*glNormal3fv)(const GLfloat * v);
extern void (*glNormal3i)(GLint nx, GLint ny, GLint nz);
extern void (*glNormal3iv)(const GLint * v);
extern void (*glNormal3s)(GLshort nx, GLshort ny, GLshort nz);
extern void (*glNormal3sv)(const GLshort * v);
extern void (*glRasterPos2d)(GLdouble x, GLdouble y);
extern void (*glRasterPos2dv)(const GLdouble * v);
extern void (*glRasterPos2f)(GLfloat x, GLfloat y);
extern void (*glRasterPos2fv)(const GLfloat * v);
extern void (*glRasterPos2i)(GLint x, GLint y);
extern void (*glRasterPos2iv)(const GLint * v);
extern void (*glRasterPos2s)(GLshort x, GLshort y);
extern void (*glRasterPos2sv)(const GLshort * v);
extern void (*glRasterPos3d)(GLdouble x, GLdouble y, GLdouble z);
extern void (*glRasterPos3dv)(const GLdouble * v);
extern void (*glRasterPos3f)(GLfloat x, GLfloat y, GLfloat z);
extern void (*glRasterPos3fv)(const GLfloat * v);
extern void (*glRasterPos3i)(GLint x, GLint y, GLint z);
extern void (*glRasterPos3iv)(const GLint * v);
extern void (*glRasterPos3s)(GLshort x, GLshort y, GLshort z);
extern void (*glRasterPos3sv)(const GLshort * v);
extern void (*glRasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void (*glRasterPos4dv)(const GLdouble * v);
extern void (*glRasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glRasterPos4fv)(const GLfloat * v);
extern void (*glRasterPos4i)(GLint x, GLint y, GLint z, GLint w);
extern void (*glRasterPos4iv)(const GLint * v);
extern void (*glRasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w);
extern void (*glRasterPos4sv)(const GLshort * v);
extern void (*glRectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
extern void (*glRectdv)(const GLdouble * v1, const GLdouble * v2);
extern void (*glRectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
extern void (*glRectfv)(const GLfloat * v1, const GLfloat * v2);
extern void (*glRecti)(GLint x1, GLint y1, GLint x2, GLint y2);
extern void (*glRectiv)(const GLint * v1, const GLint * v2);
extern void (*glRects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
extern void (*glRectsv)(const GLshort * v1, const GLshort * v2);
extern void (*glTexCoord1d)(GLdouble s);
extern void (*glTexCoord1dv)(const GLdouble * v);
extern void (*glTexCoord1f)(GLfloat s);
extern void (*glTexCoord1fv)(const GLfloat * v);
extern void (*glTexCoord1i)(GLint s);
extern void (*glTexCoord1iv)(const GLint * v);
extern void (*glTexCoord1s)(GLshort s);
extern void (*glTexCoord1sv)(const GLshort * v);
extern void (*glTexCoord2d)(GLdouble s, GLdouble t);
extern void (*glTexCoord2dv)(const GLdouble * v);
extern void (*glTexCoord2f)(GLfloat s, GLfloat t);
extern void (*glTexCoord2fv)(const GLfloat * v);
extern void (*glTexCoord2i)(GLint s, GLint t);
extern void (*glTexCoord2iv)(const GLint * v);
extern void (*glTexCoord2s)(GLshort s, GLshort t);
extern void (*glTexCoord2sv)(const GLshort * v);
extern void (*glTexCoord3d)(GLdouble s, GLdouble t, GLdouble r);
extern void (*glTexCoord3dv)(const GLdouble * v);
extern void (*glTexCoord3f)(GLfloat s, GLfloat t, GLfloat r);
extern void (*glTexCoord3fv)(const GLfloat * v);
extern void (*glTexCoord3i)(GLint s, GLint t, GLint r);
extern void (*glTexCoord3iv)(const GLint * v);
extern void (*glTexCoord3s)(GLshort s, GLshort t, GLshort r);
extern void (*glTexCoord3sv)(const GLshort * v);
extern void (*glTexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
extern void (*glTexCoord4dv)(const GLdouble * v);
extern void (*glTexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
extern void (*glTexCoord4fv)(const GLfloat * v);
extern void (*glTexCoord4i)(GLint s, GLint t, GLint r, GLint q);
extern void (*glTexCoord4iv)(const GLint * v);
extern void (*glTexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q);
extern void (*glTexCoord4sv)(const GLshort * v);
extern void (*glVertex2d)(GLdouble x, GLdouble y);
extern void (*glVertex2dv)(const GLdouble * v);
extern void (*glVertex2f)(GLfloat x, GLfloat y);
extern void (*glVertex2fv)(const GLfloat * v);
extern void (*glVertex2i)(GLint x, GLint y);
extern void (*glVertex2iv)(const GLint * v);
extern void (*glVertex2s)(GLshort x, GLshort y);
extern void (*glVertex2sv)(const GLshort * v);
extern void (*glVertex3d)(GLdouble x, GLdouble y, GLdouble z);
extern void (*glVertex3dv)(const GLdouble * v);
extern void (*glVertex3f)(GLfloat x, GLfloat y, GLfloat z);
extern void (*glVertex3fv)(const GLfloat * v);
extern void (*glVertex3i)(GLint x, GLint y, GLint z);
extern void (*glVertex3iv)(const GLint * v);
extern void (*glVertex3s)(GLshort x, GLshort y, GLshort z);
extern void (*glVertex3sv)(const GLshort * v);
extern void (*glVertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void (*glVertex4dv)(const GLdouble * v);
extern void (*glVertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glVertex4fv)(const GLfloat * v);
extern void (*glVertex4i)(GLint x, GLint y, GLint z, GLint w);
extern void (*glVertex4iv)(const GLint * v);
extern void (*glVertex4s)(GLshort x, GLshort y, GLshort z, GLshort w);
extern void (*glVertex4sv)(const GLshort * v);
extern void (*glClipPlane)(GLenum plane, const GLdouble * equation);
extern void (*glColorMaterial)(GLenum face, GLenum mode);
extern void (*glCullFace)(GLenum mode);
extern void (*glFogf)(GLenum pname, GLfloat param);
extern void (*glFogfv)(GLenum pname, const GLfloat * params);
extern void (*glFogi)(GLenum pname, GLint param);
extern void (*glFogiv)(GLenum pname, const GLint * params);
extern void (*glFrontFace)(GLenum mode);
extern void (*glHint)(GLenum target, GLenum mode);
extern void (*glLightf)(GLenum light, GLenum pname, GLfloat param);
extern void (*glLightfv)(GLenum light, GLenum pname, const GLfloat * params);
extern void (*glLighti)(GLenum light, GLenum pname, GLint param);
extern void (*glLightiv)(GLenum light, GLenum pname, const GLint * params);
extern void (*glLightModelf)(GLenum pname, GLfloat param);
extern void (*glLightModelfv)(GLenum pname, const GLfloat * params);
extern void (*glLightModeli)(GLenum pname, GLint param);
extern void (*glLightModeliv)(GLenum pname, const GLint * params);
extern void (*glLineStipple)(GLint factor, GLushort pattern);
extern void (*glLineWidth)(GLfloat width);
extern void (*glMaterialf)(GLenum face, GLenum pname, GLfloat param);
extern void (*glMaterialfv)(GLenum face, GLenum pname, const GLfloat * params);
extern void (*glMateriali)(GLenum face, GLenum pname, GLint param);
extern void (*glMaterialiv)(GLenum face, GLenum pname, const GLint * params);
extern void (*glPointSize)(GLfloat size);
extern void (*glPolygonMode)(GLenum face, GLenum mode);
extern void (*glPolygonStipple)(const GLubyte * mask);
extern void (*glScissor)(GLint x, GLint y, GLsizei width, GLsizei height);
extern void (*glShadeModel)(GLenum mode);
extern void (*glTexParameterf)(GLenum target, GLenum pname, GLfloat param);
extern void (*glTexParameterfv)(GLenum target, GLenum pname, const GLfloat * params);
extern void (*glTexParameteri)(GLenum target, GLenum pname, GLint param);
extern void (*glTexParameteriv)(GLenum target, GLenum pname, const GLint * params);
extern void (*glTexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
extern void (*glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
extern void (*glTexEnvf)(GLenum target, GLenum pname, GLfloat param);
extern void (*glTexEnvfv)(GLenum target, GLenum pname, const GLfloat * params);
extern void (*glTexEnvi)(GLenum target, GLenum pname, GLint param);
extern void (*glTexEnviv)(GLenum target, GLenum pname, const GLint * params);
extern void (*glTexGend)(GLenum coord, GLenum pname, GLdouble param);
extern void (*glTexGendv)(GLenum coord, GLenum pname, const GLdouble * params);
extern void (*glTexGenf)(GLenum coord, GLenum pname, GLfloat param);
extern void (*glTexGenfv)(GLenum coord, GLenum pname, const GLfloat * params);
extern void (*glTexGeni)(GLenum coord, GLenum pname, GLint param);
extern void (*glTexGeniv)(GLenum coord, GLenum pname, const GLint * params);
extern void (*glFeedbackBuffer)(GLsizei size, GLenum type, GLfloat * buffer);
extern void (*glSelectBuffer)(GLsizei size, GLuint * buffer);
extern GLint (*glRenderMode)(GLenum mode);
extern void (*glInitNames)(void);
extern void (*glLoadName)(GLuint name);
extern void (*glPassThrough)(GLfloat token);
extern void (*glPopName)(void);
extern void (*glPushName)(GLuint name);
extern void (*glDrawBuffer)(GLenum mode);
extern void (*glClear)(GLbitfield mask);
extern void (*glClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
extern void (*glClearIndex)(GLfloat c);
extern void (*glClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
extern void (*glClearStencil)(GLint s);
extern void (*glClearDepth)(GLclampd depth);
extern void (*glStencilMask)(GLuint mask);
extern void (*glColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
extern void (*glDepthMask)(GLboolean flag);
extern void (*glIndexMask)(GLuint mask);
extern void (*glAccum)(GLenum op, GLfloat value);
extern void (*glDisable)(GLenum cap);
extern void (*glEnable)(GLenum cap);
extern void (*glFinish)(void);
extern void (*glFlush)(void);
extern void (*glPopAttrib)(void);
extern void (*glPushAttrib)(GLbitfield mask);
extern void (*glMap1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points);
extern void (*glMap1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points);
extern void (*glMap2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points);
extern void (*glMap2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points);
extern void (*glMapGrid1d)(GLint un, GLdouble u1, GLdouble u2);
extern void (*glMapGrid1f)(GLint un, GLfloat u1, GLfloat u2);
extern void (*glMapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
extern void (*glMapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
extern void (*glEvalCoord1d)(GLdouble u);
extern void (*glEvalCoord1dv)(const GLdouble * u);
extern void (*glEvalCoord1f)(GLfloat u);
extern void (*glEvalCoord1fv)(const GLfloat * u);
extern void (*glEvalCoord2d)(GLdouble u, GLdouble v);
extern void (*glEvalCoord2dv)(const GLdouble * u);
extern void (*glEvalCoord2f)(GLfloat u, GLfloat v);
extern void (*glEvalCoord2fv)(const GLfloat * u);
extern void (*glEvalMesh1)(GLenum mode, GLint i1, GLint i2);
extern void (*glEvalPoint1)(GLint i);
extern void (*glEvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
extern void (*glEvalPoint2)(GLint i, GLint j);
extern void (*glAlphaFunc)(GLenum func, GLclampf ref);
extern void (*glBlendFunc)(GLenum sfactor, GLenum dfactor);
extern void (*glLogicOp)(GLenum opcode);
extern void (*glStencilFunc)(GLenum func, GLint ref, GLuint mask);
extern void (*glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass);
extern void (*glDepthFunc)(GLenum func);
extern void (*glPixelZoom)(GLfloat xfactor, GLfloat yfactor);
extern void (*glPixelTransferf)(GLenum pname, GLfloat param);
extern void (*glPixelTransferi)(GLenum pname, GLint param);
extern void (*glPixelStoref)(GLenum pname, GLfloat param);
extern void (*glPixelStorei)(GLenum pname, GLint param);
extern void (*glPixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat * values);
extern void (*glPixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint * values);
extern void (*glPixelMapusv)(GLenum map, GLsizei mapsize, const GLushort * values);
extern void (*glReadBuffer)(GLenum mode);
extern void (*glCopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
extern void (*glReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels);
extern void (*glDrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels);
extern void (*glGetBooleanv)(GLenum pname, GLboolean * params);
extern void (*glGetClipPlane)(GLenum plane, GLdouble * equation);
extern void (*glGetDoublev)(GLenum pname, GLdouble * params);
extern GLenum (*glGetError)(void);
extern void (*glGetFloatv)(GLenum pname, GLfloat * params);
extern void (*glGetIntegerv)(GLenum pname, GLint * params);
extern void (*glGetLightfv)(GLenum light, GLenum pname, GLfloat * params);
extern void (*glGetLightiv)(GLenum light, GLenum pname, GLint * params);
extern void (*glGetMapdv)(GLenum target, GLenum query, GLdouble * v);
extern void (*glGetMapfv)(GLenum target, GLenum query, GLfloat * v);
extern void (*glGetMapiv)(GLenum target, GLenum query, GLint * v);
extern void (*glGetMaterialfv)(GLenum face, GLenum pname, GLfloat * params);
extern void (*glGetMaterialiv)(GLenum face, GLenum pname, GLint * params);
extern void (*glGetPixelMapfv)(GLenum map, GLfloat * values);
extern void (*glGetPixelMapuiv)(GLenum map, GLuint * values);
extern void (*glGetPixelMapusv)(GLenum map, GLushort * values);
extern void (*glGetPolygonStipple)(GLubyte * mask);
extern const GLubyte * (*glGetString)(GLenum name);
extern void (*glGetTexEnvfv)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetTexEnviv)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetTexGendv)(GLenum coord, GLenum pname, GLdouble * params);
extern void (*glGetTexGenfv)(GLenum coord, GLenum pname, GLfloat * params);
extern void (*glGetTexGeniv)(GLenum coord, GLenum pname, GLint * params);
extern void (*glGetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels);
extern void (*glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetTexParameteriv)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat * params);
extern void (*glGetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint * params);
extern GLboolean (*glIsEnabled)(GLenum cap);
extern GLboolean (*glIsList)(GLuint list);
extern void (*glDepthRange)(GLclampd zNear, GLclampd zFar);
extern void (*glFrustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
extern void (*glLoadIdentity)(void);
extern void (*glLoadMatrixf)(const GLfloat * m);
extern void (*glLoadMatrixd)(const GLdouble * m);
extern void (*glMatrixMode)(GLenum mode);
extern void (*glMultMatrixf)(const GLfloat * m);
extern void (*glMultMatrixd)(const GLdouble * m);
extern void (*glOrtho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
extern void (*glPopMatrix)(void);
extern void (*glPushMatrix)(void);
extern void (*glRotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
extern void (*glRotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
extern void (*glScaled)(GLdouble x, GLdouble y, GLdouble z);
extern void (*glScalef)(GLfloat x, GLfloat y, GLfloat z);
extern void (*glTranslated)(GLdouble x, GLdouble y, GLdouble z);
extern void (*glTranslatef)(GLfloat x, GLfloat y, GLfloat z);
extern void (*glViewport)(GLint x, GLint y, GLsizei width, GLsizei height);

/*
 * OpenGL 1.1 API
 */

/* types */ 

/* tokens */
#define GL_INDEX_LOGIC_OP 0x0BF1
#define GL_COLOR_LOGIC_OP 0x0BF2
#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
#define GL_DOUBLE 0x140A
#define GL_POLYGON_OFFSET_UNITS 0x2A00
#define GL_POLYGON_OFFSET_POINT 0x2A01
#define GL_POLYGON_OFFSET_LINE 0x2A02
#define GL_R3_G3_B2 0x2A10
#define GL_V2F 0x2A20
#define GL_V3F 0x2A21
#define GL_C4UB_V2F 0x2A22
#define GL_C4UB_V3F 0x2A23
#define GL_C3F_V3F 0x2A24
#define GL_N3F_V3F 0x2A25
#define GL_C4F_N3F_V3F 0x2A26
#define GL_T2F_V3F 0x2A27
#define GL_T4F_V4F 0x2A28
#define GL_T2F_C4UB_V3F 0x2A29
#define GL_T2F_C3F_V3F 0x2A2A
#define GL_T2F_N3F_V3F 0x2A2B
#define GL_T2F_C4F_N3F_V3F 0x2A2C
#define GL_T4F_C4F_N3F_V4F 0x2A2D
#define GL_POLYGON_OFFSET_FILL 0x8037
#define GL_POLYGON_OFFSET_FACTOR 0x8038
#define GL_POLYGON_OFFSET_BIAS 0x8039
#define GL_ALPHA4 0x803B
#define GL_ALPHA8 0x803C
#define GL_ALPHA12 0x803D
#define GL_ALPHA16 0x803E
#define GL_LUMINANCE4 0x803F
#define GL_LUMINANCE8 0x8040
#define GL_LUMINANCE12 0x8041
#define GL_LUMINANCE16 0x8042
#define GL_LUMINANCE4_ALPHA4 0x8043
#define GL_LUMINANCE6_ALPHA2 0x8044
#define GL_LUMINANCE8_ALPHA8 0x8045
#define GL_LUMINANCE12_ALPHA4 0x8046
#define GL_LUMINANCE12_ALPHA12 0x8047
#define GL_LUMINANCE16_ALPHA16 0x8048
#define GL_INTENSITY 0x8049
#define GL_INTENSITY4 0x804A
#define GL_INTENSITY8 0x804B
#define GL_INTENSITY12 0x804C
#define GL_INTENSITY16 0x804D
#define GL_RGB4 0x804F
#define GL_RGB5 0x8050
#define GL_RGB8 0x8051
#define GL_RGB10 0x8052
#define GL_RGB12 0x8053
#define GL_RGB16 0x8054
#define GL_RGBA2 0x8055
#define GL_RGBA4 0x8056
#define GL_RGB5_A1 0x8057
#define GL_RGBA8 0x8058
#define GL_RGB10_A2 0x8059
#define GL_RGBA12 0x805A
#define GL_RGBA16 0x805B
#define GL_TEXTURE_RED_SIZE 0x805C
#define GL_TEXTURE_GREEN_SIZE 0x805D
#define GL_TEXTURE_BLUE_SIZE 0x805E
#define GL_TEXTURE_ALPHA_SIZE 0x805F
#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
#define GL_TEXTURE_INTENSITY_SIZE 0x8061
#define GL_PROXY_TEXTURE_1D 0x8063
#define GL_PROXY_TEXTURE_2D 0x8064
#define GL_TEXTURE_PRIORITY 0x8066
#define GL_TEXTURE_RESIDENT 0x8067
#define GL_TEXTURE_BINDING_1D 0x8068
#define GL_TEXTURE_BINDING_2D 0x8069
#define GL_VERTEX_ARRAY 0x8074
#define GL_NORMAL_ARRAY 0x8075
#define GL_COLOR_ARRAY 0x8076
#define GL_INDEX_ARRAY 0x8077
#define GL_TEXTURE_COORD_ARRAY 0x8078
#define GL_EDGE_FLAG_ARRAY 0x8079
#define GL_VERTEX_ARRAY_SIZE 0x807A
#define GL_VERTEX_ARRAY_TYPE 0x807B
#define GL_VERTEX_ARRAY_STRIDE 0x807C
#define GL_VERTEX_ARRAY_COUNT 0x807D
#define GL_NORMAL_ARRAY_TYPE 0x807E
#define GL_NORMAL_ARRAY_STRIDE 0x807F
#define GL_NORMAL_ARRAY_COUNT 0x8080
#define GL_COLOR_ARRAY_SIZE 0x8081
#define GL_COLOR_ARRAY_TYPE 0x8082
#define GL_COLOR_ARRAY_STRIDE 0x8083
#define GL_COLOR_ARRAY_COUNT 0x8084
#define GL_INDEX_ARRAY_TYPE 0x8085
#define GL_INDEX_ARRAY_STRIDE 0x8086
#define GL_INDEX_ARRAY_COUNT 0x8087
#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
#define GL_TEXTURE_COORD_ARRAY_COUNT 0x808B
#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
#define GL_EDGE_FLAG_ARRAY_COUNT 0x808D
#define GL_VERTEX_ARRAY_POINTER 0x808E
#define GL_NORMAL_ARRAY_POINTER 0x808F
#define GL_COLOR_ARRAY_POINTER 0x8090
#define GL_INDEX_ARRAY_POINTER 0x8091
#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
#define GL_ALL_CLIENT_ATTRIB_BITS 0xFFFFFFFF
#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF

/* functions */
extern void (*glArrayElement)(GLint i);
extern void (*glColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glDisableClientState)(GLenum array);
extern void (*glDrawArrays)(GLenum mode, GLint first, GLsizei count);
extern void (*glDrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices);
extern void (*glEdgeFlagPointer)(GLsizei stride, const GLvoid * pointer);
extern void (*glEnableClientState)(GLenum array);
extern void (*glGetPointerv)(GLenum pname, GLvoid ** params);
extern void (*glIndexPointer)(GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glInterleavedArrays)(GLenum format, GLsizei stride, const GLvoid * pointer);
extern void (*glNormalPointer)(GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glVertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glPolygonOffset)(GLfloat factor, GLfloat units);
extern void (*glCopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
extern void (*glCopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
extern void (*glCopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
extern void (*glCopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
extern void (*glTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels);
extern void (*glTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels);
extern GLboolean (*glAreTexturesResident)(GLsizei n, const GLuint * textures, GLboolean * residences);
extern void (*glBindTexture)(GLenum target, GLuint texture);
extern void (*glDeleteTextures)(GLsizei n, const GLuint * textures);
extern void (*glGenTextures)(GLsizei n, GLuint * textures);
extern GLboolean (*glIsTexture)(GLuint texture);
extern void (*glPrioritizeTextures)(GLsizei n, const GLuint * textures, const GLclampf * priorities);
extern void (*glIndexub)(GLubyte c);
extern void (*glIndexubv)(const GLubyte * c);
extern void (*glPopClientAttrib)(void);
extern void (*glPushClientAttrib)(GLbitfield mask);

/*
 * OpenGL 1.2 API
 */

/* types */ 

/* tokens */
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
#define GL_RESCALE_NORMAL 0x803A
#define GL_TEXTURE_BINDING_3D 0x806A
#define GL_PACK_SKIP_IMAGES 0x806B
#define GL_PACK_IMAGE_HEIGHT 0x806C
#define GL_UNPACK_SKIP_IMAGES 0x806D
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
#define GL_TEXTURE_3D 0x806F
#define GL_PROXY_TEXTURE_3D 0x8070
#define GL_TEXTURE_DEPTH 0x8071
#define GL_TEXTURE_WRAP_R 0x8072
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
#define GL_BGR 0x80E0
#define GL_BGRA 0x80E1
#define GL_MAX_ELEMENTS_VERTICES 0x80E8
#define GL_MAX_ELEMENTS_INDICES 0x80E9
#define GL_CLAMP_TO_EDGE 0x812F
#define GL_TEXTURE_MIN_LOD 0x813A
#define GL_TEXTURE_MAX_LOD 0x813B
#define GL_TEXTURE_BASE_LEVEL 0x813C
#define GL_TEXTURE_MAX_LEVEL 0x813D
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
#define GL_SINGLE_COLOR 0x81F9
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E

/* functions */
extern void (*glBlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
extern void (*glBlendEquation)(GLenum mode);
extern void (*glDrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices);
extern void (*glColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table);
extern void (*glColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat * params);
extern void (*glColorTableParameteriv)(GLenum target, GLenum pname, const GLint * params);
extern void (*glCopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
extern void (*glGetColorTable)(GLenum target, GLenum format, GLenum type, GLvoid * table);
extern void (*glGetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetColorTableParameteriv)(GLenum target, GLenum pname, GLint * params);
extern void (*glColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data);
extern void (*glCopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
extern void (*glConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image);
extern void (*glConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image);
extern void (*glConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params);
extern void (*glConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat * params);
extern void (*glConvolutionParameteri)(GLenum target, GLenum pname, GLint params);
extern void (*glConvolutionParameteriv)(GLenum target, GLenum pname, const GLint * params);
extern void (*glCopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
extern void (*glCopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
extern void (*glGetConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLvoid * image);
extern void (*glGetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetConvolutionParameteriv)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetSeparableFilter)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span);
extern void (*glSeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column);
extern void (*glGetHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values);
extern void (*glGetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetHistogramParameteriv)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values);
extern void (*glGetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetMinmaxParameteriv)(GLenum target, GLenum pname, GLint * params);
extern void (*glHistogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
extern void (*glMinmax)(GLenum target, GLenum internalformat, GLboolean sink);
extern void (*glResetHistogram)(GLenum target);
extern void (*glResetMinmax)(GLenum target);
extern void (*glTexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
extern void (*glTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels);
extern void (*glCopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);

/*
 * OpenGL 1.3 API
 */

/* types */ 

/* tokens */
#define GL_TEXTURE0 0x84C0
#define GL_TEXTURE1 0x84C1
#define GL_TEXTURE2 0x84C2
#define GL_TEXTURE3 0x84C3
#define GL_TEXTURE4 0x84C4
#define GL_TEXTURE5 0x84C5
#define GL_TEXTURE6 0x84C6
#define GL_TEXTURE7 0x84C7
#define GL_TEXTURE8 0x84C8
#define GL_TEXTURE9 0x84C9
#define GL_TEXTURE10 0x84CA
#define GL_TEXTURE11 0x84CB
#define GL_TEXTURE12 0x84CC
#define GL_TEXTURE13 0x84CD
#define GL_TEXTURE14 0x84CE
#define GL_TEXTURE15 0x84CF
#define GL_TEXTURE16 0x84D0
#define GL_TEXTURE17 0x84D1
#define GL_TEXTURE18 0x84D2
#define GL_TEXTURE19 0x84D3
#define GL_TEXTURE20 0x84D4
#define GL_TEXTURE21 0x84D5
#define GL_TEXTURE22 0x84D6
#define GL_TEXTURE23 0x84D7
#define GL_TEXTURE24 0x84D8
#define GL_TEXTURE25 0x84D9
#define GL_TEXTURE26 0x84DA
#define GL_TEXTURE27 0x84DB
#define GL_TEXTURE28 0x84DC
#define GL_TEXTURE29 0x84DD
#define GL_TEXTURE30 0x84DE
#define GL_TEXTURE31 0x84DF
#define GL_ACTIVE_TEXTURE 0x84E0
#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
#define GL_MAX_TEXTURE_UNITS 0x84E2
#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
#define GL_MULTISAMPLE 0x809D
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
#define GL_SAMPLE_COVERAGE 0x80A0
#define GL_SAMPLE_BUFFERS 0x80A8
#define GL_SAMPLES 0x80A9
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
#define GL_MULTISAMPLE_BIT 0x20000000
#define GL_NORMAL_MAP 0x8511
#define GL_REFLECTION_MAP 0x8512
#define GL_TEXTURE_CUBE_MAP 0x8513
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
#define GL_COMPRESSED_ALPHA 0x84E9
#define GL_COMPRESSED_LUMINANCE 0x84EA
#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
#define GL_COMPRESSED_INTENSITY 0x84EC
#define GL_COMPRESSED_RGB 0x84ED
#define GL_COMPRESSED_RGBA 0x84EE
#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
#define GL_TEXTURE_COMPRESSED 0x86A1
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
#define GL_CLAMP_TO_BORDER 0x812D
#define GL_CLAMP_TO_BORDER_SGIS 0x812D
#define GL_COMBINE 0x8570
#define GL_COMBINE_RGB 0x8571
#define GL_COMBINE_ALPHA 0x8572
#define GL_SOURCE0_RGB 0x8580
#define GL_SOURCE1_RGB 0x8581
#define GL_SOURCE2_RGB 0x8582
#define GL_SOURCE0_ALPHA 0x8588
#define GL_SOURCE1_ALPHA 0x8589
#define GL_SOURCE2_ALPHA 0x858A
#define GL_OPERAND0_RGB 0x8590
#define GL_OPERAND1_RGB 0x8591
#define GL_OPERAND2_RGB 0x8592
#define GL_OPERAND0_ALPHA 0x8598
#define GL_OPERAND1_ALPHA 0x8599
#define GL_OPERAND2_ALPHA 0x859A
#define GL_RGB_SCALE 0x8573
#define GL_ADD_SIGNED 0x8574
#define GL_INTERPOLATE 0x8575
#define GL_SUBTRACT 0x84E7
#define GL_CONSTANT 0x8576
#define GL_PRIMARY_COLOR 0x8577
#define GL_PREVIOUS 0x8578
#define GL_DOT3_RGB 0x86AE
#define GL_DOT3_RGBA 0x86AF

/* functions */
extern void (*glActiveTexture)(GLenum texture);
extern void (*glClientActiveTexture)(GLenum texture);
extern void (*glMultiTexCoord1d)(GLenum target, GLdouble s);
extern void (*glMultiTexCoord1dv)(GLenum target, const GLdouble * v);
extern void (*glMultiTexCoord1f)(GLenum target, GLfloat s);
extern void (*glMultiTexCoord1fv)(GLenum target, const GLfloat * v);
extern void (*glMultiTexCoord1i)(GLenum target, GLint s);
extern void (*glMultiTexCoord1iv)(GLenum target, const GLint * v);
extern void (*glMultiTexCoord1s)(GLenum target, GLshort s);
extern void (*glMultiTexCoord1sv)(GLenum target, const GLshort * v);
extern void (*glMultiTexCoord2d)(GLenum target, GLdouble s, GLdouble t);
extern void (*glMultiTexCoord2dv)(GLenum target, const GLdouble * v);
extern void (*glMultiTexCoord2f)(GLenum target, GLfloat s, GLfloat t);
extern void (*glMultiTexCoord2fv)(GLenum target, const GLfloat * v);
extern void (*glMultiTexCoord2i)(GLenum target, GLint s, GLint t);
extern void (*glMultiTexCoord2iv)(GLenum target, const GLint * v);
extern void (*glMultiTexCoord2s)(GLenum target, GLshort s, GLshort t);
extern void (*glMultiTexCoord2sv)(GLenum target, const GLshort * v);
extern void (*glMultiTexCoord3d)(GLenum target, GLdouble s, GLdouble t, GLdouble r);
extern void (*glMultiTexCoord3dv)(GLenum target, const GLdouble * v);
extern void (*glMultiTexCoord3f)(GLenum target, GLfloat s, GLfloat t, GLfloat r);
extern void (*glMultiTexCoord3fv)(GLenum target, const GLfloat * v);
extern void (*glMultiTexCoord3i)(GLenum target, GLint s, GLint t, GLint r);
extern void (*glMultiTexCoord3iv)(GLenum target, const GLint * v);
extern void (*glMultiTexCoord3s)(GLenum target, GLshort s, GLshort t, GLshort r);
extern void (*glMultiTexCoord3sv)(GLenum target, const GLshort * v);
extern void (*glMultiTexCoord4d)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
extern void (*glMultiTexCoord4dv)(GLenum target, const GLdouble * v);
extern void (*glMultiTexCoord4f)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
extern void (*glMultiTexCoord4fv)(GLenum target, const GLfloat * v);
extern void (*glMultiTexCoord4i)(GLenum target, GLint s, GLint t, GLint r, GLint q);
extern void (*glMultiTexCoord4iv)(GLenum target, const GLint * v);
extern void (*glMultiTexCoord4s)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
extern void (*glMultiTexCoord4sv)(GLenum target, const GLshort * v);
extern void (*glLoadTransposeMatrixf)(const GLfloat * m);
extern void (*glLoadTransposeMatrixd)(const GLdouble * m);
extern void (*glMultTransposeMatrixf)(const GLfloat * m);
extern void (*glMultTransposeMatrixd)(const GLdouble * m);
extern void (*glSampleCoverage)(GLclampf value, GLboolean invert);
extern void (*glCompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data);
extern void (*glGetCompressedTexImage)(GLenum target, GLint level, GLvoid * img);

/*
 * OpenGL 1.4 API
 */

/* types */ 

/* tokens */
#define GL_BLEND_DST_RGB 0x80C8
#define GL_BLEND_SRC_RGB 0x80C9
#define GL_BLEND_DST_ALPHA 0x80CA
#define GL_BLEND_SRC_ALPHA 0x80CB
#define GL_POINT_SIZE_MIN 0x8126
#define GL_POINT_SIZE_MAX 0x8127
#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
#define GL_POINT_DISTANCE_ATTENUATION 0x8129
#define GL_GENERATE_MIPMAP 0x8191
#define GL_GENERATE_MIPMAP_HINT 0x8192
#define GL_DEPTH_COMPONENT16 0x81A5
#define GL_DEPTH_COMPONENT24 0x81A6
#define GL_DEPTH_COMPONENT32 0x81A7
#define GL_MIRRORED_REPEAT 0x8370
#define GL_FOG_COORDINATE_SOURCE 0x8450
#define GL_FOG_COORDINATE 0x8451
#define GL_FRAGMENT_DEPTH 0x8452
#define GL_CURRENT_FOG_COORDINATE 0x8453
#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
#define GL_FOG_COORDINATE_ARRAY 0x8457
#define GL_COLOR_SUM 0x8458
#define GL_CURRENT_SECONDARY_COLOR 0x8459
#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
#define GL_SECONDARY_COLOR_ARRAY 0x845E
#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
#define GL_TEXTURE_FILTER_CONTROL 0x8500
#define GL_TEXTURE_LOD_BIAS 0x8501
#define GL_INCR_WRAP 0x8507
#define GL_DECR_WRAP 0x8508
#define GL_TEXTURE_DEPTH_SIZE 0x884A
#define GL_DEPTH_TEXTURE_MODE 0x884B
#define GL_TEXTURE_COMPARE_MODE 0x884C
#define GL_TEXTURE_COMPARE_FUNC 0x884D
#define GL_COMPARE_R_TO_TEXTURE 0x884E

/* functions */
extern void (*glBlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
extern void (*glFogCoordf)(GLfloat coord);
extern void (*glFogCoordfv)(const GLfloat * coord);
extern void (*glFogCoordd)(GLdouble coord);
extern void (*glFogCoorddv)(const GLdouble * coord);
extern void (*glFogCoordPointer)(GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glMultiDrawArrays)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount);
extern void (*glMultiDrawElements)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount);
extern void (*glPointParameterf)(GLenum pname, GLfloat param);
extern void (*glPointParameterfv)(GLenum pname, const GLfloat * params);
extern void (*glPointParameteri)(GLenum pname, GLint param);
extern void (*glPointParameteriv)(GLenum pname, const GLint * params);
extern void (*glSecondaryColor3b)(GLbyte red, GLbyte green, GLbyte blue);
extern void (*glSecondaryColor3bv)(const GLbyte * v);
extern void (*glSecondaryColor3d)(GLdouble red, GLdouble green, GLdouble blue);
extern void (*glSecondaryColor3dv)(const GLdouble * v);
extern void (*glSecondaryColor3f)(GLfloat red, GLfloat green, GLfloat blue);
extern void (*glSecondaryColor3fv)(const GLfloat * v);
extern void (*glSecondaryColor3i)(GLint red, GLint green, GLint blue);
extern void (*glSecondaryColor3iv)(const GLint * v);
extern void (*glSecondaryColor3s)(GLshort red, GLshort green, GLshort blue);
extern void (*glSecondaryColor3sv)(const GLshort * v);
extern void (*glSecondaryColor3ub)(GLubyte red, GLubyte green, GLubyte blue);
extern void (*glSecondaryColor3ubv)(const GLubyte * v);
extern void (*glSecondaryColor3ui)(GLuint red, GLuint green, GLuint blue);
extern void (*glSecondaryColor3uiv)(const GLuint * v);
extern void (*glSecondaryColor3us)(GLushort red, GLushort green, GLushort blue);
extern void (*glSecondaryColor3usv)(const GLushort * v);
extern void (*glSecondaryColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glWindowPos2d)(GLdouble x, GLdouble y);
extern void (*glWindowPos2dv)(const GLdouble * v);
extern void (*glWindowPos2f)(GLfloat x, GLfloat y);
extern void (*glWindowPos2fv)(const GLfloat * v);
extern void (*glWindowPos2i)(GLint x, GLint y);
extern void (*glWindowPos2iv)(const GLint * v);
extern void (*glWindowPos2s)(GLshort x, GLshort y);
extern void (*glWindowPos2sv)(const GLshort * v);
extern void (*glWindowPos3d)(GLdouble x, GLdouble y, GLdouble z);
extern void (*glWindowPos3dv)(const GLdouble * v);
extern void (*glWindowPos3f)(GLfloat x, GLfloat y, GLfloat z);
extern void (*glWindowPos3fv)(const GLfloat * v);
extern void (*glWindowPos3i)(GLint x, GLint y, GLint z);
extern void (*glWindowPos3iv)(const GLint * v);
extern void (*glWindowPos3s)(GLshort x, GLshort y, GLshort z);
extern void (*glWindowPos3sv)(const GLshort * v);

/*
 * OpenGL 1.5 API
 */

/* types */ 
typedef GLint * GLintptrARB;
typedef GLsizei * GLsizeiptrARB;

/* tokens */
#define GL_BUFFER_SIZE 0x8764
#define GL_BUFFER_USAGE 0x8765
#define GL_QUERY_COUNTER_BITS 0x8864
#define GL_CURRENT_QUERY 0x8865
#define GL_QUERY_RESULT 0x8866
#define GL_QUERY_RESULT_AVAILABLE 0x8867
#define GL_ARRAY_BUFFER 0x8892
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
#define GL_ARRAY_BUFFER_BINDING 0x8894
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
#define GL_READ_ONLY 0x88B8
#define GL_WRITE_ONLY 0x88B9
#define GL_READ_WRITE 0x88BA
#define GL_BUFFER_ACCESS 0x88BB
#define GL_BUFFER_MAPPED 0x88BC
#define GL_BUFFER_MAP_POINTER 0x88BD
#define GL_STREAM_DRAW 0x88E0
#define GL_STREAM_READ 0x88E1
#define GL_STREAM_COPY 0x88E2
#define GL_STATIC_DRAW 0x88E4
#define GL_STATIC_READ 0x88E5
#define GL_STATIC_COPY 0x88E6
#define GL_DYNAMIC_DRAW 0x88E8
#define GL_DYNAMIC_READ 0x88E9
#define GL_DYNAMIC_COPY 0x88EA
#define GL_SAMPLES_PASSED 0x8914
#define GL_FOG_COORD_SOURCE 0x8450
#define GL_FOG_COORD 0x8451
#define GL_CURRENT_FOG_COORD 0x8453
#define GL_FOG_COORD_ARRAY_TYPE 0x8454
#define GL_FOG_COORD_ARRAY_STRIDE 0x8455
#define GL_FOG_COORD_ARRAY_POINTER 0x8456
#define GL_FOG_COORD_ARRAY 0x8457
#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D
#define GL_SRC0_RGB 0x8580
#define GL_SRC1_RGB 0x8581
#define GL_SRC2_RGB 0x8582
#define GL_SRC0_ALPHA 0x8588
#define GL_SRC1_ALPHA 0x8589
#define GL_SRC2_ALPHA 0x858A

/* functions */
extern void (*glBindBuffer)(GLenum target, GLuint buffer);
extern void (*glBufferData)(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage);
extern void (*glBufferSubData)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data);
extern void (*glDeleteBuffers)(GLsizei n, const GLuint * buffer);
extern void (*glGenBuffers)(GLsizei n, GLuint * buffer);
extern void (*glGetBufferParameteriv)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetBufferPointerv)(GLenum target, GLenum pname, GLvoid ** params);
extern void (*glGetBufferSubData)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid * data);
extern GLboolean (*glIsBuffer)(GLuint buffer);
extern void (*glMapBuffer)(GLenum target, GLenum access);
extern GLboolean (*glUnmapBuffer)(GLenum target);
extern void (*glGenQueries)(GLsizei n, GLuint * ids);
extern void (*glDeleteQueries)(GLsizei n, const GLuint * ids);
extern GLboolean (*glIsQuery)(GLuint id);
extern void (*glBeginQuery)(GLenum target, GLuint id);
extern void (*glEndQuery)(GLenum target);
extern void (*glGetQueryiv)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetQueryObjectiv)(GLuint id, GLenum pname, GLint * params);
extern void (*glGetQueryObjectuiv)(GLuint id, GLenum pname, GLuint * params);

/* GL_ARB_multitexture */
#define GL_TEXTURE0_ARB 0x84C0
#define GL_TEXTURE1_ARB 0x84C1
#define GL_TEXTURE2_ARB 0x84C2
#define GL_TEXTURE3_ARB 0x84C3
#define GL_TEXTURE4_ARB 0x84C4
#define GL_TEXTURE5_ARB 0x84C5
#define GL_TEXTURE6_ARB 0x84C6
#define GL_TEXTURE7_ARB 0x84C7
#define GL_TEXTURE8_ARB 0x84C8
#define GL_TEXTURE9_ARB 0x84C9
#define GL_TEXTURE10_ARB 0x84CA
#define GL_TEXTURE11_ARB 0x84CB
#define GL_TEXTURE12_ARB 0x84CC
#define GL_TEXTURE13_ARB 0x84CD
#define GL_TEXTURE14_ARB 0x84CE
#define GL_TEXTURE15_ARB 0x84CF
#define GL_TEXTURE16_ARB 0x84D0
#define GL_TEXTURE17_ARB 0x84D1
#define GL_TEXTURE18_ARB 0x84D2
#define GL_TEXTURE19_ARB 0x84D3
#define GL_TEXTURE20_ARB 0x84D4
#define GL_TEXTURE21_ARB 0x84D5
#define GL_TEXTURE22_ARB 0x84D6
#define GL_TEXTURE23_ARB 0x84D7
#define GL_TEXTURE24_ARB 0x84D8
#define GL_TEXTURE25_ARB 0x84D9
#define GL_TEXTURE26_ARB 0x84DA
#define GL_TEXTURE27_ARB 0x84DB
#define GL_TEXTURE28_ARB 0x84DC
#define GL_TEXTURE29_ARB 0x84DD
#define GL_TEXTURE30_ARB 0x84DE
#define GL_TEXTURE31_ARB 0x84DF
#define GL_ACTIVE_TEXTURE_ARB 0x84E0
#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
extern void (*glActiveTextureARB)(GLenum texture);
extern void (*glClientActiveTextureARB)(GLenum texture);
extern void (*glMultiTexCoord1dARB)(GLenum target, GLdouble s);
extern void (*glMultiTexCoord1dvARB)(GLenum target, const GLdouble * v);
extern void (*glMultiTexCoord1fARB)(GLenum target, GLfloat s);
extern void (*glMultiTexCoord1fvARB)(GLenum target, const GLfloat * v);
extern void (*glMultiTexCoord1iARB)(GLenum target, GLint s);
extern void (*glMultiTexCoord1ivARB)(GLenum target, const GLint * v);
extern void (*glMultiTexCoord1sARB)(GLenum target, GLshort s);
extern void (*glMultiTexCoord1svARB)(GLenum target, const GLshort * v);
extern void (*glMultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t);
extern void (*glMultiTexCoord2dvARB)(GLenum target, const GLdouble * v);
extern void (*glMultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t);
extern void (*glMultiTexCoord2fvARB)(GLenum target, const GLfloat * v);
extern void (*glMultiTexCoord2iARB)(GLenum target, GLint s, GLint t);
extern void (*glMultiTexCoord2ivARB)(GLenum target, const GLint * v);
extern void (*glMultiTexCoord2sARB)(GLenum target, GLshort s, GLshort t);
extern void (*glMultiTexCoord2svARB)(GLenum target, const GLshort * v);
extern void (*glMultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r);
extern void (*glMultiTexCoord3dvARB)(GLenum target, const GLdouble * v);
extern void (*glMultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r);
extern void (*glMultiTexCoord3fvARB)(GLenum target, const GLfloat * v);
extern void (*glMultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r);
extern void (*glMultiTexCoord3ivARB)(GLenum target, const GLint * v);
extern void (*glMultiTexCoord3sARB)(GLenum target, GLshort s, GLshort t, GLshort r);
extern void (*glMultiTexCoord3svARB)(GLenum target, const GLshort * v);
extern void (*glMultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
extern void (*glMultiTexCoord4dvARB)(GLenum target, const GLdouble * v);
extern void (*glMultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
extern void (*glMultiTexCoord4fvARB)(GLenum target, const GLfloat * v);
extern void (*glMultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q);
extern void (*glMultiTexCoord4ivARB)(GLenum target, const GLint * v);
extern void (*glMultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
extern void (*glMultiTexCoord4svARB)(GLenum target, const GLshort * v);

/* GL_ARB_transpose_matrix */
#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
extern void (*glLoadTransposeMatrixfARB)(const GLfloat * m);
extern void (*glLoadTransposeMatrixdARB)(const GLdouble * m);
extern void (*glMultTransposeMatrixfARB)(const GLfloat * m);
extern void (*glMultTransposeMatrixdARB)(const GLdouble * m);

/* GL_ARB_multisample */
#define GL_MULTISAMPLE_ARB 0x809D
#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
#define GL_SAMPLE_COVERAGE_ARB 0x80A0
#define GL_SAMPLE_BUFFERS_ARB 0x80A8
#define GL_SAMPLES_ARB 0x80A9
#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
#define GL_MULTISAMPLE_BIT_ARB 0x20000000
extern void (*glSampleCoverageARB)(GLclampf value, GLboolean invert);

/* GL_ARB_texture_env_add */

/* GL_ARB_texture_cube_map */
#define GL_NORMAL_MAP_ARB 0x8511
#define GL_REFLECTION_MAP_ARB 0x8512
#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C

/* GL_ARB_texture_compression */
#define GL_COMPRESSED_ALPHA_ARB 0x84E9
#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
#define GL_COMPRESSED_RGB_ARB 0x84ED
#define GL_COMPRESSED_RGBA_ARB 0x84EE
#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
#define GL_NUM_TEXTURE_COMPRESSED_FORMATS_ARB 0x86A2
#define GL_TEXTURE_COMPRESSED_FORMATS_ARB 0x86A3
extern void (*glCompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data);
extern void (*glCompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data);
extern void (*glGetCompressedTexImageARB)(GLenum target, GLint level, GLvoid * img);

/* GL_ARB_texture_border_clamp */
#define GL_CLAMP_TO_BORDER_ARB 0x812D

/* GL_ARB_point_parameters */
#define GL_POINT_SIZE_MIN_ARB 0x8126
#define GL_POINT_SIZE_MAX_ARB 0x8127
#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
extern void (*glPointParameterfARB)(GLenum pname, GLfloat param);
extern void (*glPointParameterfvARB)(GLenum pname, const GLfloat * params);

/* GL_ARB_vertex_blend */
#define GL_MAX_VERTEX_UNITS_ARB 0x86A4
#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6
#define GL_VERTEX_BLEND_ARB 0x86A7
#define GL_CURRENT_WEIGHT_ARB 0x86A8
#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9
#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA
#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB
#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
#define GL_WEIGHT_ARRAY_ARB 0x86AD
#define GL_MODELVIEW0_ARB 0x1700
#define GL_MODELVIEW1_ARB 0x850A
#define GL_MODELVIEW2_ARB 0x8722
#define GL_MODELVIEW3_ARB 0x8723
#define GL_MODELVIEW4_ARB 0x8724
#define GL_MODELVIEW5_ARB 0x8725
#define GL_MODELVIEW6_ARB 0x8726
#define GL_MODELVIEW7_ARB 0x8727
#define GL_MODELVIEW8_ARB 0x8728
#define GL_MODELVIEW9_ARB 0x8729
#define GL_MODELVIEW10_ARB 0x872A
#define GL_MODELVIEW11_ARB 0x872B
#define GL_MODELVIEW12_ARB 0x872C
#define GL_MODELVIEW13_ARB 0x872D
#define GL_MODELVIEW14_ARB 0x872E
#define GL_MODELVIEW15_ARB 0x872F
#define GL_MODELVIEW16_ARB 0x8730
#define GL_MODELVIEW17_ARB 0x8731
#define GL_MODELVIEW18_ARB 0x8732
#define GL_MODELVIEW19_ARB 0x8733
#define GL_MODELVIEW20_ARB 0x8734
#define GL_MODELVIEW21_ARB 0x8735
#define GL_MODELVIEW22_ARB 0x8736
#define GL_MODELVIEW23_ARB 0x8737
#define GL_MODELVIEW24_ARB 0x8738
#define GL_MODELVIEW25_ARB 0x8739
#define GL_MODELVIEW26_ARB 0x873A
#define GL_MODELVIEW27_ARB 0x873B
#define GL_MODELVIEW28_ARB 0x873C
#define GL_MODELVIEW29_ARB 0x873D
#define GL_MODELVIEW30_ARB 0x873E
#define GL_MODELVIEW31_ARB 0x873F
extern void (*glWeightbvARB)(GLint size, const GLbyte * weights);
extern void (*glWeightsvARB)(GLint size, const GLshort * weights);
extern void (*glWeightivARB)(GLint size, const GLint * weights);
extern void (*glWeightfvARB)(GLint size, const GLfloat * weights);
extern void (*glWeightdvARB)(GLint size, const GLdouble * weights);
extern void (*glWeightubvARB)(GLint size, const GLubyte * weights);
extern void (*glWeightusvARB)(GLint size, const GLushort * weights);
extern void (*glWeightuivARB)(GLint size, const GLuint * weights);
extern void (*glWeightPointerARB)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glVertexBlendARB)(GLint count);

/* GL_ARB_matrix_palette */
#define GL_MATRIX_PALETTE_ARB 0x8840
#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
#define GL_MAX_PALETTE_MATRICES_ARB 0x8842
#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843
#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844
#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845
#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846
#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847
#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
extern void (*glCurrentPaletteMatrixARB)(GLint index);
extern void (*glMatrixIndexubvARB)(GLint size, const GLubyte * indices);
extern void (*glMatrixIndexusvARB)(GLint size, const GLushort * indices);
extern void (*glMatrixIndexuivARB)(GLint size, const GLuint * indices);
extern void (*glMatrixIndexPointerARB)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);

/* GL_ARB_texture_env_combine */
#define GL_COMBINE_ARB 0x8570
#define GL_COMBINE_RGB_ARB 0x8571
#define GL_COMBINE_ALPHA_ARB 0x8572
#define GL_SOURCE0_RGB_ARB 0x8580
#define GL_SOURCE1_RGB_ARB 0x8581
#define GL_SOURCE2_RGB_ARB 0x8582
#define GL_SOURCE0_ALPHA_ARB 0x8588
#define GL_SOURCE1_ALPHA_ARB 0x8589
#define GL_SOURCE2_ALPHA_ARB 0x858A
#define GL_OPERAND0_RGB_ARB 0x8590
#define GL_OPERAND1_RGB_ARB 0x8591
#define GL_OPERAND2_RGB_ARB 0x8592
#define GL_OPERAND0_ALPHA_ARB 0x8598
#define GL_OPERAND1_ALPHA_ARB 0x8599
#define GL_OPERAND2_ALPHA_ARB 0x859A
#define GL_RGB_SCALE_ARB 0x8573
#define GL_ADD_SIGNED_ARB 0x8574
#define GL_INTERPOLATE_ARB 0x8575
#define GL_SUBTRACT_ARB 0x84E7
#define GL_CONSTANT_ARB 0x8576
#define GL_PRIMARY_COLOR_ARB 0x8577
#define GL_PREVIOUS_ARB 0x8578

/* GL_ARB_texture_env_crossbar */

/* GL_ARB_texture_env_dot3 */
#define GL_DOT3_RGB_ARB 0x86AE
#define GL_DOT3_RGBA_ARB 0x86AF

/* GL_ARB_texture_mirrored_repeat */
#define GL_MIRRORED_REPEAT_ARB 0x8370

/* GL_ARB_depth_texture */
#define GL_DEPTH_COMPONENT16_ARB 0x81A5
#define GL_DEPTH_COMPONENT24_ARB 0x81A6
#define GL_DEPTH_COMPONENT32_ARB 0x81A7
#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B

/* GL_ARB_shadow */
#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E

/* GL_ARB_shadow_ambient */
#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF

/* GL_ARB_window_pos */
extern void (*glWindowPos2dARB)(GLdouble x, GLdouble y);
extern void (*glWindowPos2fARB)(GLfloat x, GLfloat y);
extern void (*glWindowPos2iARB)(GLint x, GLint y);
extern void (*glWindowPos2sARB)(GLshort x, GLshort y);
extern void (*glWindowPos2dvARB)(const GLdouble * p);
extern void (*glWindowPos2fvARB)(const GLfloat * p);
extern void (*glWindowPos2ivARB)(const GLint * p);
extern void (*glWindowPos2svARB)(const GLshort * p);
extern void (*glWindowPos3dARB)(GLdouble x, GLdouble y, GLdouble z);
extern void (*glWindowPos3fARB)(GLfloat x, GLfloat y, GLfloat z);
extern void (*glWindowPos3iARB)(GLint x, GLint y, GLint z);
extern void (*glWindowPos3sARB)(GLshort x, GLshort y, GLshort z);
extern void (*glWindowPos3dvARB)(const GLdouble * p);
extern void (*glWindowPos3fvARB)(const GLfloat * p);
extern void (*glWindowPos3ivARB)(const GLint * p);
extern void (*glWindowPos3svARB)(const GLshort * p);

/* GL_ARB_vertex_program */
#define GL_COLOR_SUM_ARB 0x8458
#define GL_VERTEX_PROGRAM_ARB 0x8620
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
#define GL_PROGRAM_LENGTH_ARB 0x8627
#define GL_PROGRAM_STRING_ARB 0x8628
#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
#define GL_CURRENT_MATRIX_ARB 0x8641
#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
#define GL_PROGRAM_BINDING_ARB 0x8677
#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
#define GL_PROGRAM_FORMAT_ARB 0x8876
#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
#define GL_MATRIX0_ARB 0x88C0
#define GL_MATRIX1_ARB 0x88C1
#define GL_MATRIX2_ARB 0x88C2
#define GL_MATRIX3_ARB 0x88C3
#define GL_MATRIX4_ARB 0x88C4
#define GL_MATRIX5_ARB 0x88C5
#define GL_MATRIX6_ARB 0x88C6
#define GL_MATRIX7_ARB 0x88C7
#define GL_MATRIX8_ARB 0x88C8
#define GL_MATRIX9_ARB 0x88C9
#define GL_MATRIX10_ARB 0x88CA
#define GL_MATRIX11_ARB 0x88CB
#define GL_MATRIX12_ARB 0x88CC
#define GL_MATRIX13_ARB 0x88CD
#define GL_MATRIX14_ARB 0x88CE
#define GL_MATRIX15_ARB 0x88CF
#define GL_MATRIX16_ARB 0x88D0
#define GL_MATRIX17_ARB 0x88D1
#define GL_MATRIX18_ARB 0x88D2
#define GL_MATRIX19_ARB 0x88D3
#define GL_MATRIX20_ARB 0x88D4
#define GL_MATRIX21_ARB 0x88D5
#define GL_MATRIX22_ARB 0x88D6
#define GL_MATRIX23_ARB 0x88D7
#define GL_MATRIX24_ARB 0x88D8
#define GL_MATRIX25_ARB 0x88D9
#define GL_MATRIX26_ARB 0x88DA
#define GL_MATRIX27_ARB 0x88DB
#define GL_MATRIX28_ARB 0x88DC
#define GL_MATRIX29_ARB 0x88DD
#define GL_MATRIX30_ARB 0x88DE
#define GL_MATRIX31_ARB 0x88DF
extern void (*glVertexAttrib1sARB)(GLuint index, GLshort x);
extern void (*glVertexAttrib1fARB)(GLuint index, GLfloat x);
extern void (*glVertexAttrib1dARB)(GLuint index, GLdouble x);
extern void (*glVertexAttrib2sARB)(GLuint index, GLshort x, GLshort y);
extern void (*glVertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y);
extern void (*glVertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y);
extern void (*glVertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z);
extern void (*glVertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
extern void (*glVertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
extern void (*glVertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
extern void (*glVertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glVertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void (*glVertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
extern void (*glVertexAttrib1svARB)(GLuint index, const GLshort * v);
extern void (*glVertexAttrib1fvARB)(GLuint index, const GLfloat * v);
extern void (*glVertexAttrib1dvARB)(GLuint index, const GLdouble * v);
extern void (*glVertexAttrib2svARB)(GLuint index, const GLshort * v);
extern void (*glVertexAttrib2fvARB)(GLuint index, const GLfloat * v);
extern void (*glVertexAttrib2dvARB)(GLuint index, const GLdouble * v);
extern void (*glVertexAttrib3svARB)(GLuint index, const GLshort * v);
extern void (*glVertexAttrib3fvARB)(GLuint index, const GLfloat * v);
extern void (*glVertexAttrib3dvARB)(GLuint index, const GLdouble * v);
extern void (*glVertexAttrib4bvARB)(GLuint index, const GLbyte * v);
extern void (*glVertexAttrib4svARB)(GLuint index, const GLshort * v);
extern void (*glVertexAttrib4ivARB)(GLuint index, const GLint * v);
extern void (*glVertexAttrib4ubvARB)(GLuint index, const GLubyte * v);
extern void (*glVertexAttrib4usvARB)(GLuint index, const GLushort * v);
extern void (*glVertexAttrib4uivARB)(GLuint index, const GLuint * v);
extern void (*glVertexAttrib4fvARB)(GLuint index, const GLfloat * v);
extern void (*glVertexAttrib4dvARB)(GLuint index, const GLdouble * v);
extern void (*glVertexAttrib4NbvARB)(GLuint index, const GLbyte * v);
extern void (*glVertexAttrib4NsvARB)(GLuint index, const GLshort * v);
extern void (*glVertexAttrib4NivARB)(GLuint index, const GLint * v);
extern void (*glVertexAttrib4NubvARB)(GLuint index, const GLubyte * v);
extern void (*glVertexAttrib4NusvARB)(GLuint index, const GLushort * v);
extern void (*glVertexAttrib4NuivARB)(GLuint index, const GLuint * v);
extern void (*glVertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer);
extern void (*glEnableVertexAttribArrayARB)(GLuint index);
extern void (*glDisableVertexAttribArrayARB)(GLuint index);
extern void (*glProgramStringARB)(GLenum target, GLenum format, GLsizei len, const GLvoid * string);
extern void (*glBindProgramARB)(GLenum target, GLuint program);
extern void (*glDeleteProgramsARB)(GLsizei n, const GLuint * programs);
extern void (*glGenProgramsARB)(GLsizei n, GLuint * programs);
extern GLboolean (*glIsProgramARB)(GLuint program);
extern void (*glProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void (*glProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params);
extern void (*glProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params);
extern void (*glProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void (*glProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params);
extern void (*glProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params);
extern void (*glGetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble * params);
extern void (*glGetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat * params);
extern void (*glGetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble * params);
extern void (*glGetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat * params);
extern void (*glGetProgramivARB)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetProgramStringARB)(GLenum target, GLenum pname, GLvoid * string);
extern void (*glGetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble * params);
extern void (*glGetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat * params);
extern void (*glGetVertexAttribivARB)(GLuint index, GLenum pname, GLint * params);
extern void (*glGetVertexAttribPointervARB)(GLuint index, GLenum pname, GLvoid ** params);

/* GL_ARB_fragment_program */
#define GL_FRAGMENT_PROGRAM_ARB 0x8804
#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
#define GL_MAX_TEXTURE_COORDS_ARB 0x8871
#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872

/* GL_ARB_vertex_buffer_object */
#define GL_BUFFER_SIZE_ARB 0x8764
#define GL_BUFFER_USAGE_ARB 0x8765
#define GL_ARRAY_BUFFER_ARB 0x8892
#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
#define GL_READ_ONLY_ARB 0x88B8
#define GL_WRITE_ONLY_ARB 0x88B9
#define GL_READ_WRITE_ARB 0x88BA
#define GL_BUFFER_ACCESS_ARB 0x88BB
#define GL_BUFFER_MAPPED_ARB 0x88BC
#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
#define GL_STREAM_DRAW_ARB 0x88E0
#define GL_STREAM_READ_ARB 0x88E1
#define GL_STREAM_COPY_ARB 0x88E2
#define GL_STATIC_DRAW_ARB 0x88E4
#define GL_STATIC_READ_ARB 0x88E5
#define GL_STATIC_COPY_ARB 0x88E6
#define GL_DYNAMIC_DRAW_ARB 0x88E8
#define GL_DYNAMIC_READ_ARB 0x88E9
#define GL_DYNAMIC_COPY_ARB 0x88EA
extern void (*glBindBufferARB)(GLenum target, GLuint buffer);
extern void (*glBufferDataARB)(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage);
extern void (*glBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data);
extern void (*glDeleteBuffersARB)(GLsizei n, const GLuint * buffer);
extern void (*glGenBuffersARB)(GLsizei n, GLuint * buffer);
extern void (*glGetBufferParameterivARB)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetBufferPointervARB)(GLenum target, GLenum pname, GLvoid ** params);
extern void (*glGetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid * data);
extern GLboolean (*glIsBufferARB)(GLuint buffer);
extern GLvoid * (*glMapBufferARB)(GLenum target, GLenum access);
extern GLboolean (*glUnmapBufferARB)(GLenum target);

/* GL_ARB_occlusion_query */
#define GL_QUERY_COUNTER_BITS_ARB 0x8864
#define GL_CURRENT_QUERY_ARB 0x8865
#define GL_QUERY_RESULT_ARB 0x8866
#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
#define GL_SAMPLES_PASSED_ARB 0x8914
extern void (*glGenQueriesARB)(GLsizei n, GLuint * ids);
extern void (*glDeleteQueriesARB)(GLsizei n, const GLuint * ids);
extern GLboolean (*glIsQueryARB)(GLuint id);
extern void (*glBeginQueryARB)(GLenum target, GLuint id);
extern void (*glEndQueryARB)(GLenum target);
extern void (*glGetQueryivARB)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetQueryObjectivARB)(GLuint id, GLenum pname, GLint * params);
extern void (*glGetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint * params);

/* GL_ARB_shader_objects */
typedef char GLcharARB;
typedef unsigned int GLhandleARB;
#define GL_PROGRAM_OBJECT_ARB 0x8B40
#define GL_SHADER_OBJECT_ARB 0x8B48
#define GL_OBJECT_TYPE_ARB 0x8B4E
#define GL_OBJECT_SUBTYPE_ARB 0x8B4F
#define GL_FLOAT_VEC2_ARB 0x8B50
#define GL_FLOAT_VEC3_ARB 0x8B51
#define GL_FLOAT_VEC4_ARB 0x8B52
#define GL_INT_VEC2_ARB 0x8B53
#define GL_INT_VEC3_ARB 0x8B54
#define GL_INT_VEC4_ARB 0x8B55
#define GL_BOOL_ARB 0x8B56
#define GL_BOOL_VEC2_ARB 0x8B57
#define GL_BOOL_VEC3_ARB 0x8B58
#define GL_BOOL_VEC4_ARB 0x8B59
#define GL_FLOAT_MAT2_ARB 0x8B5A
#define GL_FLOAT_MAT3_ARB 0x8B5B
#define GL_FLOAT_MAT4_ARB 0x8B5C
#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
extern void (*glDeleteObjectARB)(GLhandleARB obj);
extern GLhandleARB (*glGetHandleARB)(GLenum pname);
extern void (*glDetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj);
extern GLhandleARB (*glCreateShaderObjectARB)(GLenum shaderType);
extern void (*glShaderSourceARB)(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint * length);
extern void (*glCompileShaderARB)(GLhandleARB shaderObj);
extern GLhandleARB (*glCreateProgramObjectARB)(void);
extern void (*glAttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj);
extern void (*glLinkProgramARB)(GLhandleARB programObj);
extern void (*glUseProgramObjectARB)(GLhandleARB programObj);
extern void (*glValidateProgramARB)(GLhandleARB programObj);
extern void (*glUniform1fARB)(GLint location, GLfloat v0);
extern void (*glUniform2fARB)(GLint location, GLfloat v0, GLfloat v1);
extern void (*glUniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
extern void (*glUniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
extern void (*glUniform1iARB)(GLint location, GLint v0);
extern void (*glUniform2iARB)(GLint location, GLint v0, GLint v1);
extern void (*glUniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2);
extern void (*glUniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
extern void (*glUniform1fvARB)(GLint location, GLsizei count, const GLfloat * value);
extern void (*glUniform2fvARB)(GLint location, GLsizei count, const GLfloat * value);
extern void (*glUniform3fvARB)(GLint location, GLsizei count, const GLfloat * value);
extern void (*glUniform4fvARB)(GLint location, GLsizei count, const GLfloat * value);
extern void (*glUniform1ivARB)(GLint location, GLsizei count, const GLint * value);
extern void (*glUniform2ivARB)(GLint location, GLsizei count, const GLint * value);
extern void (*glUniform3ivARB)(GLint location, GLsizei count, const GLint * value);
extern void (*glUniform4ivARB)(GLint location, GLsizei count, const GLint * value);
extern void (*glUniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
extern void (*glUniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
extern void (*glUniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
extern void (*glGetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat * params);
extern void (*glGetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint * params);
extern void (*glGetInfoLogARB)(GLhandleARB obj, GLsizei , GLsizei * , GLcharARB * );
extern void (*glGetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxLength, GLsizei * length, GLhandleARB * infoLog);
extern GLint (*glGetUniformLocationARB)(GLhandleARB programObj, const GLcharARB * name);
extern void (*glGetActiveUniformARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * lenght, GLint * size, GLenum * type, GLcharARB * name);
extern void (*glGetUniformfvARB)(GLhandleARB programObj, GLint location, GLfloat * params);
extern void (*glGetUniformivARB)(GLhandleARB programObj, GLint location, GLint * params);
extern void (*glGetShaderSourceARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source);

/* GL_ARB_vertex_shader */
#define GL_VERTEX_SHADER_ARB 0x8B31
#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
extern void (*glBindAttribLocationARB)(GLhandleARB programObj, GLuint index, const GLcharARB * name);
extern void (*glGetActiveAttribARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, const GLcharARB * name);
extern GLint (*glGetAttribLocationARB)(GLhandleARB programObj, const GLcharARB * name);

/* GL_ARB_fragment_shader */
#define GL_FRAGMENT_SHADER_ARB 0x8B30
#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49

/* GL_ARB_shading_language_100 */

/* GL_ARB_texture_non_power_of_two */

/* GL_ARB_point_sprite */
#define GL_POINT_SPRITE_ARB 0x8861
#define GL_COORD_REPLACE_ARB 0x8862

/* GL_ARB_fragment_program_shadow */

/* GL_EXT_blend_color */
#define GL_CONSTANT_COLOR_EXT 0x8001
#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
#define GL_CONSTANT_ALPHA_EXT 0x8003
#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
#define GL_BLEND_COLOR_EXT 0x8005
extern void (*glBlendColorEXT)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);

/* GL_EXT_polygon_offset */
extern void (*glPolygonOffsetEXT)(GLfloat factor, GLfloat bias);

/* GL_EXT_texture */
#define GL_ALPHA4_EXT 0x803B
#define GL_ALPHA8_EXT 0x803C
#define GL_ALPHA12_EXT 0x803D
#define GL_ALPHA16_EXT 0x803E
#define GL_LUMINANCE4_EXT 0x803F
#define GL_LUMINANCE8_EXT 0x8040
#define GL_LUMINANCE12_EXT 0x8041
#define GL_LUMINANCE16_EXT 0x8042
#define GL_LUMINANCE4_ALPHA4_EXT 0x8043
#define GL_LUMINANCE6_ALPHA2_EXT 0x8044
#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
#define GL_LUMINANCE12_ALPHA4_EXT 0x8046
#define GL_LUMINANCE12_ALPHA12_EXT 0x8047
#define GL_LUMINANCE16_ALPHA16_EXT 0x8048
#define GL_INTENSITY_EXT 0x8049
#define GL_INTENSITY4_EXT 0x804A
#define GL_INTENSITY8_EXT 0x804B
#define GL_INTENSITY12_EXT 0x804C
#define GL_INTENSITY16_EXT 0x804D
#define GL_RGB2_EXT 0x804E
#define GL_RGB4_EXT 0x804F
#define GL_RGB5_EXT 0x8050
#define GL_RGB8_EXT 0x8051
#define GL_RGB10_EXT 0x8052
#define GL_RGB12_EXT 0x8053
#define GL_RGB16_EXT 0x8054
#define GL_RGBA2_EXT 0x8055
#define GL_RGBA4_EXT 0x8056
#define GL_RGB5_A1_EXT 0x8057
#define GL_RGBA8_EXT 0x8058
#define GL_RGB10_A2_EXT 0x8059
#define GL_RGBA12_EXT 0x805A
#define GL_RGBA16_EXT 0x805B
#define GL_TEXTURE_RED_SIZE_EXT 0x805C
#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D
#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E
#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F
#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060
#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061
#define GL_REPLACE_EXT 0x8062
#define GL_PROXY_TEXTURE_1D_EXT 0x8063
#define GL_PROXY_TEXTURE_2D_EXT 0x8064
#define GL_TEXTURE_TOO_LARGE_EXT 0x8065

/* GL_EXT_texture3D */
extern void (*glTexImage3DEXT)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
extern void (*glTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels);

/* GL_SGIS_texture_filter4 */
extern void (*glGetTexFilterFuncSGIS)(GLenum target, GLenum filter, GLfloat * weights);
extern void (*glTexFilterFuncSGIS)(GLenum target, GLenum filter, GLsizei n, const GLfloat * weights);

/* GL_EXT_subtexture */
extern void (*glTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels);
extern void (*glTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels);

/* GL_EXT_copy_texture */
extern void (*glCopyTexImage1DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
extern void (*glCopyTexImage2DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
extern void (*glCopyTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
extern void (*glCopyTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
extern void (*glCopyTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);

/* GL_EXT_histogram */
extern void (*glGetHistogramEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values);
extern void (*glGetHistogramParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetHistogramParameterivEXT)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetMinmaxEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values);
extern void (*glGetMinmaxParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetMinmaxParameterivEXT)(GLenum target, GLenum pname, GLint * params);
extern void (*glHistogramEXT)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
extern void (*glMinmaxEXT)(GLenum target, GLenum internalformat, GLboolean sink);
extern void (*glResetHistogramEXT)(GLenum target);
extern void (*glResetMinmaxEXT)(GLenum target);

/* GL_EXT_convolution */
extern void (*glConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image);
extern void (*glConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image);
extern void (*glConvolutionParameterfEXT)(GLenum target, GLenum pname, GLfloat params);
extern void (*glConvolutionParameterfvEXT)(GLenum target, GLenum pname, const GLfloat * params);
extern void (*glConvolutionParameteriEXT)(GLenum target, GLenum pname, GLint params);
extern void (*glConvolutionParameterivEXT)(GLenum target, GLenum pname, const GLint * params);
extern void (*glCopyConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
extern void (*glCopyConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
extern void (*glGetConvolutionFilterEXT)(GLenum target, GLenum format, GLenum type, GLvoid * image);
extern void (*glGetConvolutionParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetConvolutionParameterivEXT)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetSeparableFilterEXT)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span);
extern void (*glSeparableFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column);

/* GL_SGI_color_table */
extern void (*glColorTableSGI)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table);
extern void (*glColorTableParameterfvSGI)(GLenum target, GLenum pname, const GLfloat * params);
extern void (*glColorTableParameterivSGI)(GLenum target, GLenum pname, const GLint * params);
extern void (*glCopyColorTableSGI)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
extern void (*glGetColorTableSGI)(GLenum target, GLenum format, GLenum type, GLvoid * table);
extern void (*glGetColorTableParameterfvSGI)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetColorTableParameterivSGI)(GLenum target, GLenum pname, GLint * params);

/* GL_SGIS_pixel_texture */
extern void (*glPixelTexGenParameteriSGIS)(GLenum pname, GLint param);
extern void (*glPixelTexGenParameterivSGIS)(GLenum pname, const GLint * params);
extern void (*glPixelTexGenParameterfSGIS)(GLenum pname, GLfloat param);
extern void (*glPixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params);
extern void (*glGetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params);
extern void (*glGetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params);

/* GL_SGIS_texture4D */
extern void (*glTexImage4DSGIS)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid * pixels);
extern void (*glTexSubImage4DSGIS)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid * pixels);

/* GL_EXT_texture_object */
extern GLboolean (*glAreTexturesResidentEXT)(GLsizei n, const GLuint * textures, GLboolean * residences);
extern void (*glBindTextureEXT)(GLenum target, GLuint texture);
extern void (*glDeleteTexturesEXT)(GLsizei n, const GLuint * textures);
extern void (*glGenTexturesEXT)(GLsizei n, GLuint * textures);
extern GLboolean (*glIsTextureEXT)(GLuint texture);
extern void (*glPrioritizeTexturesEXT)(GLsizei n, const GLuint * textures, const GLclampf * priorities);

/* GL_SGIS_detail_texture */
extern void (*glDetailTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points);
extern void (*glGetDetailTexFuncSGIS)(GLenum target, GLfloat * points);

/* GL_SGIS_sharpen_texture */
extern void (*glSharpenTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points);
extern void (*glGetSharpenTexFuncSGIS)(GLenum target, GLfloat * points);

/* GL_SGIS_multisample */
extern void (*glSampleMaskSGIS)(GLclampf value, GLboolean invert);
extern void (*glSamplePatternSGIS)(GLenum pattern);

/* GL_EXT_vertex_array */
extern void (*glArrayElementEXT)(GLint i);
extern void (*glColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);
extern void (*glDrawArraysEXT)(GLenum mode, GLint first, GLsizei count);
extern void (*glEdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer);
extern void (*glGetPointervEXT)(GLenum pname, GLvoid ** params);
extern void (*glIndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);
extern void (*glNormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);
extern void (*glTexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);
extern void (*glVertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer);

/* GL_EXT_blend_minmax */
extern void (*glBlendEquationEXT)(GLenum mode);

/* GL_SGIX_sprite */
extern void (*glSpriteParameterfSGIX)(GLenum pname, GLfloat param);
extern void (*glSpriteParameterfvSGIX)(GLenum pname, const GLfloat * params);
extern void (*glSpriteParameteriSGIX)(GLenum pname, GLint param);
extern void (*glSpriteParameterivSGIX)(GLenum pname, const GLint * params);

/* GL_EXT_point_parameters */
extern void (*glPointParameterfEXT)(GLenum pname, GLfloat param);
extern void (*glPointParameterfvEXT)(GLenum pname, const GLfloat * params);

/* GL_SGIX_instruments */
extern GLint (*glGetInstrumentsSGIX)(void);
extern void (*glInstrumentsBufferSGIX)(GLsizei size, GLint * buffer);
extern GLint (*glPollInstrumentsSGIX)(GLint * marker_p);
extern void (*glReadInstrumentsSGIX)(GLint marker);
extern void (*glStartInstrumentsSGIX)(void);
extern void (*glStopInstrumentsSGIX)(GLint marker);

/* GL_SGIX_framezoom */
extern void (*glFrameZoomSGIX)(GLint factor);

/* GL_SGIX_tag_sample_buffer */
extern void (*glTagSampleBufferSGIX)(void);

/* GL_SGIX_reference_plane */
extern void (*glReferencePlaneSGIX)(const GLdouble * equation);

/* GL_SGIX_flush_raster */
extern void (*glFlushRasterSGIX)(void);

/* GL_SGIS_fog_function */
extern void (*glFogFuncSGIS)(GLsizei n, const GLfloat * points);
extern void (*glGetFogFuncSGIS)(GLfloat * points);

/* GL_HP_image_transform */
extern void (*glImageTransformParameteriHP)(GLenum target, GLenum pname, GLint param);
extern void (*glImageTransformParameterfHP)(GLenum target, GLenum pname, GLfloat param);
extern void (*glImageTransformParameterivHP)(GLenum target, GLenum pname, const GLint * params);
extern void (*glImageTransformParameterfvHP)(GLenum target, GLenum pname, const GLfloat * params);
extern void (*glGetImageTransformParameterivHP)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetImageTransformParameterfvHP)(GLenum target, GLenum pname, GLfloat * params);

/* GL_EXT_color_subtable */
extern void (*glColorSubTableEXT)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data);
extern void (*glCopyColorSubTableEXT)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);

/* GL_PGI_misc_hints */
extern void (*glHintPGI)(GLenum target, GLint mode);

/* GL_EXT_paletted_texture */
extern void (*glColorTableEXT)(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid * table);
extern void (*glGetColorTableEXT)(GLenum target, GLenum format, GLenum type, GLvoid * data);
extern void (*glGetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);

/* GL_SGIX_list_priority */
extern void (*glGetListParameterfvSGIX)(GLuint list, GLenum pname, GLfloat * params);
extern void (*glGetListParameterivSGIX)(GLuint list, GLenum pname, GLint * params);
extern void (*glListParameterfSGIX)(GLuint list, GLenum pname, GLfloat param);
extern void (*glListParameterfvSGIX)(GLuint list, GLenum pname, const GLfloat * params);
extern void (*glListParameteriSGIX)(GLuint list, GLenum pname, GLint param);
extern void (*glListParameterivSGIX)(GLuint list, GLenum pname, const GLint * params);

/* GL_EXT_index_material */
extern void (*glIndexMaterialEXT)(GLenum face, GLenum mode);

/* GL_EXT_index_func */
extern void (*glIndexFuncEXT)(GLenum func, GLclampf ref);

/* GL_EXT_compiled_vertex_array */
extern void (*glLockArraysEXT)(GLint first, GLsizei count);
extern void (*glUnlockArraysEXT)(void);

/* GL_EXT_cull_vertex */
extern void (*glCullParameterdvEXT)(GLenum pname, GLdouble * params);
extern void (*glCullParameterfvEXT)(GLenum pname, GLfloat * params);

/* GL_SGIX_fragment_lighting */
extern void (*glFragmentColorMaterialSGIX)(GLenum face, GLenum mode);
extern void (*glFragmentLightfSGIX)(GLenum light, GLenum pname, GLfloat param);
extern void (*glFragmentLightfvSGIX)(GLenum light, GLenum pname, const GLfloat * params);
extern void (*glFragmentLightiSGIX)(GLenum light, GLenum pname, GLint param);
extern void (*glFragmentLightivSGIX)(GLenum light, GLenum pname, const GLint * params);
extern void (*glFragmentLightModelfSGIX)(GLenum pname, GLfloat param);
extern void (*glFragmentLightModelfvSGIX)(GLenum pname, const GLfloat * params);
extern void (*glFragmentLightModeliSGIX)(GLenum pname, GLint param);
extern void (*glFragmentLightModelivSGIX)(GLenum pname, const GLint * params);
extern void (*glFragmentMaterialfSGIX)(GLenum face, GLenum pname, GLfloat param);
extern void (*glFragmentMaterialfvSGIX)(GLenum face, GLenum pname, const GLfloat * params);
extern void (*glFragmentMaterialiSGIX)(GLenum face, GLenum pname, GLint param);
extern void (*glFragmentMaterialivSGIX)(GLenum face, GLenum pname, const GLint * params);
extern void (*glGetFragmentLightfvSGIX)(GLenum light, GLenum pname, GLfloat * params);
extern void (*glGetFragmentLightivSGIX)(GLenum light, GLenum pname, GLint * params);
extern void (*glGetFragmentMaterialfvSGIX)(GLenum face, GLenum pname, GLfloat * params);
extern void (*glGetFragmentMaterialivSGIX)(GLenum face, GLenum pname, GLint * params);
extern void (*glLightEnviSGIX)(GLenum pname, GLint param);

/* GL_EXT_draw_range_elements */
extern void (*glDrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices);

/* GL_EXT_light_texture */
extern void (*glApplyTextureEXT)(GLenum mode);
extern void (*glTextureLightEXT)(GLenum pname);
extern void (*glTextureMaterialEXT)(GLenum face, GLenum mode);

/* GL_SGIX_async */
extern void (*glAsyncMarkerSGIX)(GLuint marker);
extern GLint (*glFinishAsyncSGIX)(GLuint * markerp);
extern GLint (*glPollAsyncSGIX)(GLuint * markerp);
extern GLuint (*glGenAsyncMarkersSGIX)(GLsizei range);
extern void (*glDeleteAsyncMarkersSGIX)(GLuint marker, GLsizei range);
extern GLboolean (*glIsAsyncMarkerSGIX)(GLuint marker);

/* GL_INTEL_parallel_arrays */
extern void (*glVertexPointervINTEL)(GLint size, GLenum type, const GLvoid ** pointer);
extern void (*glNormalPointervINTEL)(GLenum type, const GLvoid ** pointer);
extern void (*glColorPointervINTEL)(GLint size, GLenum type, const GLvoid ** pointer);
extern void (*glTexCoordPointervINTEL)(GLint size, GLenum type, const GLvoid ** pointer);

/* GL_EXT_pixel_transform */
extern void (*glPixelTransformParameteriEXT)(GLenum target, GLenum pname, GLint param);
extern void (*glPixelTransformParameterfEXT)(GLenum target, GLenum pname, GLfloat param);
extern void (*glPixelTransformParameterivEXT)(GLenum target, GLenum pname, const GLint * params);
extern void (*glPixelTransformParameterfvEXT)(GLenum target, GLenum pname, const GLfloat * params);

/* GL_EXT_secondary_color */
extern void (*glSecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue);
extern void (*glSecondaryColor3bvEXT)(const GLbyte * v);
extern void (*glSecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue);
extern void (*glSecondaryColor3dvEXT)(const GLdouble * v);
extern void (*glSecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue);
extern void (*glSecondaryColor3fvEXT)(const GLfloat * v);
extern void (*glSecondaryColor3iEXT)(GLint red, GLint green, GLint blue);
extern void (*glSecondaryColor3ivEXT)(const GLint * v);
extern void (*glSecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue);
extern void (*glSecondaryColor3svEXT)(const GLshort * v);
extern void (*glSecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue);
extern void (*glSecondaryColor3ubvEXT)(const GLubyte * v);
extern void (*glSecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue);
extern void (*glSecondaryColor3uivEXT)(const GLuint * v);
extern void (*glSecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue);
extern void (*glSecondaryColor3usvEXT)(const GLushort * v);
extern void (*glSecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);

/* GL_EXT_texture_perturb_normal */
extern void (*glTextureNormalEXT)(GLenum mode);

/* GL_EXT_multi_draw_arrays */
extern void (*glMultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount);
extern void (*glMultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount);

/* GL_EXT_fog_coord */
extern void (*glFogCoordfEXT)(GLfloat coord);
extern void (*glFogCoordfvEXT)(const GLfloat * coord);
extern void (*glFogCoorddEXT)(GLdouble coord);
extern void (*glFogCoorddvEXT)(const GLdouble * coord);
extern void (*glFogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer);

/* GL_EXT_coordinate_frame */
extern void (*glTangent3bEXT)(GLbyte tx, GLbyte ty, GLbyte tz);
extern void (*glTangent3bvEXT)(const GLbyte * v);
extern void (*glTangent3dEXT)(GLdouble tx, GLdouble ty, GLdouble tz);
extern void (*glTangent3dvEXT)(const GLdouble * v);
extern void (*glTangent3fEXT)(GLfloat tx, GLfloat ty, GLfloat tz);
extern void (*glTangent3fvEXT)(const GLfloat * v);
extern void (*glTangent3iEXT)(GLint tx, GLint ty, GLint tz);
extern void (*glTangent3ivEXT)(const GLint * v);
extern void (*glTangent3sEXT)(GLshort tx, GLshort ty, GLshort tz);
extern void (*glTangent3svEXT)(const GLshort * v);
extern void (*glBinormal3bEXT)(GLbyte bx, GLbyte by, GLbyte bz);
extern void (*glBinormal3bvEXT)(const GLbyte * v);
extern void (*glBinormal3dEXT)(GLdouble bx, GLdouble by, GLdouble bz);
extern void (*glBinormal3dvEXT)(const GLdouble * v);
extern void (*glBinormal3fEXT)(GLfloat bx, GLfloat by, GLfloat bz);
extern void (*glBinormal3fvEXT)(const GLfloat * v);
extern void (*glBinormal3iEXT)(GLint bx, GLint by, GLint bz);
extern void (*glBinormal3ivEXT)(const GLint * v);
extern void (*glBinormal3sEXT)(GLshort bx, GLshort by, GLshort bz);
extern void (*glBinormal3svEXT)(const GLshort * v);
extern void (*glTangentPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glBinormalPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer);

/* GL_SGIX_pixel_texture */
extern void (*glPixelTexGenSGIX)(GLenum mode);

/* GL_SUNX_constant_data */
extern void (*glFinishTextureSUNX)(void);

/* GL_SUN_global_alpha */
extern void (*glGlobalAlphaFactorbSUN)(GLbyte factor);
extern void (*glGlobalAlphaFactorsSUN)(GLshort factor);
extern void (*glGlobalAlphaFactoriSUN)(GLint factor);
extern void (*glGlobalAlphaFactorfSUN)(GLfloat factor);
extern void (*glGlobalAlphaFactordSUN)(GLdouble factor);
extern void (*glGlobalAlphaFactorubSUN)(GLubyte factor);
extern void (*glGlobalAlphaFactorusSUN)(GLushort factor);
extern void (*glGlobalAlphaFactoruiSUN)(GLuint factor);

/* GL_SUN_triangle_list */
extern void (*glReplacementCodeuiSUN)(GLuint code);
extern void (*glReplacementCodeusSUN)(GLushort code);
extern void (*glReplacementCodeubSUN)(GLubyte code);
extern void (*glReplacementCodeuivSUN)(const GLuint * code);
extern void (*glReplacementCodeusvSUN)(const GLushort * code);
extern void (*glReplacementCodeubvSUN)(const GLubyte * code);
extern void (*glReplacementCodePointerSUN)(GLenum type, GLsizei stride, const GLvoid * pointer);

/* GL_SUN_vertex */
extern void (*glColor4ubVertex2fSUN)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
extern void (*glColor4ubVertex2fvSUN)(const GLubyte * c, const GLfloat * v);
extern void (*glColor4ubVertex3fSUN)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
extern void (*glColor4ubVertex3fvSUN)(const GLubyte * c, const GLfloat * v);
extern void (*glColor3fVertex3fSUN)(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
extern void (*glColor3fVertex3fvSUN)(const GLfloat * c, const GLfloat * v);
extern void (*glNormal3fVertex3fSUN)(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
extern void (*glNormal3fVertex3fvSUN)(const GLfloat * n, const GLfloat * v);
extern void (*glColor4fNormal3fVertex3fSUN)(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
extern void (*glColor4fNormal3fVertex3fvSUN)(const GLfloat * c, const GLfloat * n, const GLfloat * v);
extern void (*glTexCoord2fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
extern void (*glTexCoord2fVertex3fvSUN)(const GLfloat * tc, const GLfloat * v);
extern void (*glTexCoord4fVertex4fSUN)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glTexCoord4fVertex4fvSUN)(const GLfloat * tc, const GLfloat * v);
extern void (*glTexCoord2fColor4ubVertex3fSUN)(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
extern void (*glTexCoord2fColor4ubVertex3fvSUN)(const GLfloat * tc, const GLubyte * c, const GLfloat * v);
extern void (*glTexCoord2fColor3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
extern void (*glTexCoord2fColor3fVertex3fvSUN)(const GLfloat * tc, const GLfloat * c, const GLfloat * v);
extern void (*glTexCoord2fNormal3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
extern void (*glTexCoord2fNormal3fVertex3fvSUN)(const GLfloat * tc, const GLfloat * n, const GLfloat * v);
extern void (*glTexCoord2fColor4fNormal3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
extern void (*glTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
extern void (*glTexCoord4fColor4fNormal3fVertex4fSUN)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glTexCoord4fColor4fNormal3fVertex4fvSUN)(const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
extern void (*glReplacementCodeuiVertex3fSUN)(GLuint rc, GLfloat x, GLfloat y, GLfloat z);
extern void (*glReplacementCodeuiVertex3fvSUN)(const GLuint * rc, const GLfloat * v);
extern void (*glReplacementCodeuiColor4ubVertex3fSUN)(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
extern void (*glReplacementCodeuiColor4ubVertex3fvSUN)(const GLuint * rc, const GLubyte * c, const GLfloat * v);
extern void (*glReplacementCodeuiColor3fVertex3fSUN)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
extern void (*glReplacementCodeuiColor3fVertex3fvSUN)(const GLuint * rc, const GLfloat * c, const GLfloat * v);
extern void (*glReplacementCodeuiNormal3fVertex3fSUN)(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
extern void (*glReplacementCodeuiNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * n, const GLfloat * v);
extern void (*glReplacementCodeuiColor4fNormal3fVertex3fSUN)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
extern void (*glReplacementCodeuiColor4fNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
extern void (*glReplacementCodeuiTexCoord2fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
extern void (*glReplacementCodeuiTexCoord2fVertex3fvSUN)(const GLuint * rc, const GLfloat * tc, const GLfloat * v);
extern void (*glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
extern void (*glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * tc, const GLfloat * n, const GLfloat * v);
extern void (*glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
extern void (*glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v);

/* GL_EXT_blend_func_separate */
extern void (*glBlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);

/* GL_EXT_vertex_weighting */
extern void (*glVertexWeightfEXT)(GLfloat weight);
extern void (*glVertexWeightfvEXT)(const GLfloat * weight);
extern void (*glVertexWeightPointerEXT)(GLsizei size, GLenum type, GLsizei stride, const GLvoid * pointer);

/* GL_NV_vertex_array_range */
extern void (*glFlushVertexArrayRangeNV)(void);
extern void (*glVertexArrayRangeNV)(GLsizei length, const GLvoid * pointer);

/* GL_NV_register_combiners */
extern void (*glCombinerParameterfvNV)(GLenum pname, const GLfloat * params);
extern void (*glCombinerParameterfNV)(GLenum pname, GLfloat param);
extern void (*glCombinerParameterivNV)(GLenum pname, const GLint * params);
extern void (*glCombinerParameteriNV)(GLenum pname, GLint param);
extern void (*glCombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
extern void (*glCombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
extern void (*glFinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
extern void (*glGetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params);
extern void (*glGetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params);
extern void (*glGetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params);
extern void (*glGetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params);
extern void (*glGetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params);
extern void (*glGetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params);

/* GL_MESA_resize_buffers */
extern void (*glResizeBuffersMESA)(void);

/* GL_MESA_window_pos */
extern void (*glWindowPos2dMESA)(GLdouble x, GLdouble y);
extern void (*glWindowPos2dvMESA)(const GLdouble * v);
extern void (*glWindowPos2fMESA)(GLfloat x, GLfloat y);
extern void (*glWindowPos2fvMESA)(const GLfloat * v);
extern void (*glWindowPos2iMESA)(GLint x, GLint y);
extern void (*glWindowPos2ivMESA)(const GLint * v);
extern void (*glWindowPos2sMESA)(GLshort x, GLshort y);
extern void (*glWindowPos2svMESA)(const GLshort * v);
extern void (*glWindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z);
extern void (*glWindowPos3dvMESA)(const GLdouble * v);
extern void (*glWindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z);
extern void (*glWindowPos3fvMESA)(const GLfloat * v);
extern void (*glWindowPos3iMESA)(GLint x, GLint y, GLint z);
extern void (*glWindowPos3ivMESA)(const GLint * v);
extern void (*glWindowPos3sMESA)(GLshort x, GLshort y, GLshort z);
extern void (*glWindowPos3svMESA)(const GLshort * v);
extern void (*glWindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void (*glWindowPos4dvMESA)(const GLdouble * v);
extern void (*glWindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glWindowPos4fvMESA)(const GLfloat * v);
extern void (*glWindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w);
extern void (*glWindowPos4ivMESA)(const GLint * v);
extern void (*glWindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w);
extern void (*glWindowPos4svMESA)(const GLshort * v);

/* GL_IBM_multimode_draw_arrays */
extern void (*glMultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride);
extern void (*glMultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride);

/* GL_IBM_vertex_array_lists */
extern void (*glColorPointerListIBM)(GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
extern void (*glSecondaryColorPointerListIBM)(GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
extern void (*glEdgeFlagPointerListIBM)(GLint stride, const GLboolean ** pointer, GLint ptrstride);
extern void (*glFogCoordPointerListIBM)(GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
extern void (*glIndexPointerListIBM)(GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
extern void (*glNormalPointerListIBM)(GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
extern void (*glTexCoordPointerListIBM)(GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
extern void (*glVertexPointerListIBM)(GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);

/* GL_3DFX_tbuffer */
extern void (*glTbufferMask3DFX)(GLuint mask);

/* GL_EXT_multisample */
extern void (*glSampleMaskEXT)(GLclampf value, GLboolean invert);
extern void (*glSamplePatternEXT)(GLenum pattern);

/* GL_SGIS_texture_color_mask */
extern void (*glTextureColorMaskSGIS)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);

/* GL_NV_fence */
extern void (*glDeleteFencesNV)(GLsizei n, const GLuint * fences);
extern void (*glGenFencesNV)(GLsizei n, GLuint * fences);
extern GLboolean (*glIsFenceNV)(GLuint fence);
extern GLboolean (*glTestFenceNV)(GLuint fence);
extern void (*glGetFenceivNV)(GLuint fence, GLenum pname, GLint * params);
extern void (*glFinishFenceNV)(GLuint fence);
extern void (*glSetFenceNV)(GLuint fence, GLenum condition);

/* GL_NV_evaluators */
extern void (*glMapControlPointsNV)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid * points);
extern void (*glMapParameterivNV)(GLenum target, GLenum pname, const GLint * params);
extern void (*glMapParameterfvNV)(GLenum target, GLenum pname, const GLfloat * params);
extern void (*glGetMapControlPointsNV)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid * points);
extern void (*glGetMapParameterivNV)(GLenum target, GLenum pname, GLint * params);
extern void (*glGetMapParameterfvNV)(GLenum target, GLenum pname, GLfloat * params);
extern void (*glGetMapAttribParameterivNV)(GLenum target, GLuint index, GLenum pname, GLint * params);
extern void (*glGetMapAttribParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params);
extern void (*glEvalMapsNV)(GLenum target, GLenum mode);

/* GL_NV_register_combiners2 */
extern void (*glCombinerStageParameterfvNV)(GLenum stage, GLenum pname, const GLfloat * params);
extern void (*glGetCombinerStageParameterfvNV)(GLenum stage, GLenum pname, GLfloat * params);

/* GL_NV_vertex_program */
extern GLboolean (*glAreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences);
extern void (*glBindProgramNV)(GLenum target, GLuint id);
extern void (*glDeleteProgramsNV)(GLsizei n, const GLuint * ids);
extern void (*glExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params);
extern void (*glGenProgramsNV)(GLsizei n, GLuint * ids);
extern void (*glGetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params);
extern void (*glGetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params);
extern void (*glGetProgramivNV)(GLuint id, GLenum pname, GLint * params);
extern void (*glGetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program);
extern void (*glGetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params);
extern void (*glGetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params);
extern void (*glGetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params);
extern void (*glGetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params);
extern void (*glGetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer);
extern GLboolean (*glIsProgramNV)(GLuint id);
extern void (*glLoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program);
extern void (*glProgramParameter4dNV)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void (*glProgramParameter4dvNV)(GLenum target, GLuint index, const GLdouble * params);
extern void (*glProgramParameter4fNV)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glProgramParameter4fvNV)(GLenum target, GLuint index, const GLfloat * params);
extern void (*glProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params);
extern void (*glProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params);
extern void (*glRequestResidentProgramsNV)(GLsizei n, const GLuint * ids);
extern void (*glTrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform);
extern void (*glVertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);
extern void (*glVertexAttrib1dNV)(GLuint index, GLdouble x);
extern void (*glVertexAttrib1dvNV)(GLuint index, const GLdouble * v);
extern void (*glVertexAttrib1fNV)(GLuint index, GLfloat x);
extern void (*glVertexAttrib1fvNV)(GLuint index, const GLfloat * v);
extern void (*glVertexAttrib1sNV)(GLuint index, GLshort x);
extern void (*glVertexAttrib1svNV)(GLuint index, const GLshort * v);
extern void (*glVertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y);
extern void (*glVertexAttrib2dvNV)(GLuint index, const GLdouble * v);
extern void (*glVertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y);
extern void (*glVertexAttrib2fvNV)(GLuint index, const GLfloat * v);
extern void (*glVertexAttrib2sNV)(GLuint index, GLshort x, GLshort y);
extern void (*glVertexAttrib2svNV)(GLuint index, const GLshort * v);
extern void (*glVertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
extern void (*glVertexAttrib3dvNV)(GLuint index, const GLdouble * v);
extern void (*glVertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
extern void (*glVertexAttrib3fvNV)(GLuint index, const GLfloat * v);
extern void (*glVertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z);
extern void (*glVertexAttrib3svNV)(GLuint index, const GLshort * v);
extern void (*glVertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void (*glVertexAttrib4dvNV)(GLuint index, const GLdouble * v);
extern void (*glVertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glVertexAttrib4fvNV)(GLuint index, const GLfloat * v);
extern void (*glVertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
extern void (*glVertexAttrib4svNV)(GLuint index, const GLshort * v);
extern void (*glVertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
extern void (*glVertexAttrib4ubvNV)(GLuint index, const GLubyte * v);
extern void (*glVertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v);
extern void (*glVertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v);
extern void (*glVertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v);
extern void (*glVertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v);
extern void (*glVertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v);
extern void (*glVertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v);
extern void (*glVertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v);
extern void (*glVertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v);
extern void (*glVertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v);
extern void (*glVertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v);
extern void (*glVertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v);
extern void (*glVertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v);
extern void (*glVertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v);

/* GL_NV_point_sprite */
extern void (*glPointParameteriNV)(GLenum pname, GLint params);
extern void (*glPointParameterivNV)(GLenum pname, const GLint * params);

/* EXT_stencil_two_side */
extern void (*glActiveStencilFaceEXT)(GLenum face);

/* GL_ATI_draw_buffers */
extern void (*glDrawBuffersATI)(GLsizei n, const GLenum * bufs);

/* GL_NV_fragment_program */
extern void (*glProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (*glProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void (*glProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v);
extern void (*glProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v);
extern void (*glGetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params);
extern void (*glGetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params);

/* GL_EXT_depth_bounds_test */
extern void (*glDepthBoundsEXT)(GLclampd zmin, GLclampd zmax);

/* GL_EXT_blend_equation_separate */
extern void (*glBlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA);

/* GL_ATI_blend_equation_separate */
extern void (*glBlendEquationSeparateATI)(GLenum modeRGB, GLenum modeA);

/* GL_INGR_blend_func_separate */
extern void (*glBlendFuncSeparateINGR)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);

/* GL_SGIS_point_parameters */
extern void (*glPointParameterfSGIS)(GLenum pname, GLfloat param);
extern void (*glPointParameterfvSGIS)(GLenum pname, const GLfloat * params);

/* GL_SGIX_igloo_interface */
extern void (*glIglooInterfaceSGIX)(GLenum pname, const GLvoid * params);

/* GL_SGIX_polynomial_ffd */
extern void (*glDeformationMap3dSGIX)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble * points);
extern void (*glDeformationMap3fSGIX)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat * points);
extern void (*glDeformSGIX)(GLenum mask);
extern void (*glLoadIdentityDeformationMapSGIX)(GLenum mask);

/* GL_EXT_texture_compression_s3tc */
#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3


#ifdef __cplusplus
}
#endif

/* eof */
